Валидация полей
Чтобы обеспечить точность данных, безопасность и согласованность в коллекциях, NocoBase предоставляет функциональность проверки полей. Эта функция состоит из двух основных частей: конфигурации правил и применения правил.
Конфигурация правил

Системные поля NocoBase интегрируют правила Joi, поддержка реализована следующим образом:
Строка
Типы строк Joi соответствуют следующим типам полей NocoBase: Однострочный текст, Длинный текст, Телефон, Электронная почта, URL-адрес, Пароль и UUID.
Общие правила
- Минимальная длина
- Максимальная длина
- Длина
- Шаблон
- Обязательное
Электронная почта

Посмотреть дополнительные параметры
URL-адрес

Посмотреть дополнительные параметры
UUID

Посмотреть дополнительные параметры
Число
Типы чисел Joi соответствуют следующим типам полей NocoBase: Целое число (Integer), Число (Number) и Процент (Percentage).
Общие правила
- Больше чем
- Меньше чем
- Максимальное значение
- Минимальное значение
- Кратность
Целое число (Integer)
Помимо общих правил, целочисленные поля дополнительно поддерживают проверку целых чисел и проверку небезопасных целых чисел.

Число и процент (Number & Percentage)
Помимо общих правил, поля с числами и процентами дополнительно поддерживают проверку точности.

Дата (Date)
Типы дат Joi соответствуют следующим типам полей NocoBase: Дата (с часовым поясом), Дата (без часового пояса), Дата(без времени) и Unix-временная метка (Unix timestamp).
Поддерживаемые правила проверки:
- Больше чем
- Меньше чем
- Максимальное значение
- Минимальное значение
- Метка времени
- Обязательное
Поля связей
Поля связей поддерживают только обязательную проверку. Обратите внимание: обязательная проверка для полей связей в настоящее время не поддерживается в сценариях под-формы или под-таблицы.

Применение правил проверки
После настройки правил полей соответствующие правила проверки будут срабатывать при добавлении или изменении данных.

Правила проверки также применяются к компонентам под-таблицы и под-формы:


Обратите внимание: в сценариях под-формы или под-таблицы обязательная проверка для полей связей не применяется.

Отличия от проверки полей на стороне клиента
Проверка полей на стороне клиента и на стороне сервера применяется в разных сценариях, при этом есть существенные различия в реализации и во времени срабатывания правил. Поэтому их нужно управлять отдельно.
Отличия метода конфигурации правил
- Проверка на стороне клиента: настройте правила в формах редактирования (как показано на рисунке ниже)
- Проверка на стороне сервера: задайте правила полей в Источник данных → Конфигурация коллекции


Отличия во времени срабатывания правил проверки
- Проверка на стороне клиента: выполняет проверку в реальном времени по мере того, как пользователи заполняют поля, и сразу отображает сообщения об ошибках.
- Проверка на стороне сервера: выполняет проверку на сервере до ввода данных после их отправки; сообщения об ошибках возвращаются через ответы API.
- Область действия: проверка полей на стороне сервера срабатывает не только во время отправки формы, но и запускается во всех сценариях, связанных с добавлением или изменением данных, например в рабочих процессах и при импорте данных.
- Сообщения об ошибках: проверка на стороне клиента поддерживает настраиваемые сообщения об ошибках, а на стороне сервера в настоящее время настраиваемые сообщения об ошибках не поддерживаются.

