User Input Validation
TLDR;
Валідації – напряму повʼязані з карточками. Наразі (
v25.08), зашиті та тісно інтегровані в карточку.Zodсхеми – "основа" валідації, самі перевірки. Генеруються в рамках пакету@webitel/api-services.Regle – обгортка Zod для роботи у компонентах, з реактивністю, з методами та статус-флагами валідації.
Задачі Zod
- Перевірка даних згідно його схеми валідації
- Заповнення default значень
- Формування текстів помилок (!)
Задачі Regle
- Інтеграція з Vue
- Реактивність
- Розрахунок правильності, корисних для ui флагів стану
Як "під капотом" відбувається обгортування
Крок 1: @webitel/api-services
- У
@webitel/api-services: маємо згенеровануZod-схему, яка описує валідацію.
Крок 2: @webitel/ui-datalist -> stores
У
@webitel/ui-datalist: у сторі карточки очікуємо цю схему як параметрcreateCardStore().Там же: обгортаємо
Zod-схему уRegle...... і return'мо цю схему зі стора.
Крок 3: crm
crm: при створенні конкретного стора карточки конкретної сутності, імпортуємо zod-схему з@webitel/api-services, та передаємо її уcreateCardStore().crm: На рівні конкретної карточки імпортуємо цей стор з попереднього кроку, передаємо уuseCardComponentcomposable,
Крок 4: Назад в @webitel/ui-datalist -> composables
@webitel/ui-datalist: зuseCardComponentпрокидаємоRegle-схему уuseCardValidationcomposable, і вже там розраховується і вертається все необхідне.