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

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

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

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

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

Когда поле используется в форме, правила валидации поля также отображаются в настройках валидации поля. Эти правила находятся в разделе «Правила валидации полей на сервере» и доступны здесь только для чтения. Чтобы изменить эти правила, вернитесь в раздел «Конфигурация источника данных / таблицы данных» и отредактируйте поле.
В разделе «Правила валидации на клиенте» по-прежнему можно добавить дополнительные правила для поля текущей формы. Эти правила влияют только на компонент текущего поля. В итоге применяемые правила валидации объединяют «Правила валидации полей на сервере» и «Правила валидации на клиенте».
Правила валидации также применяются к компонентам дочерних таблиц и дочерних форм:


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

Различия между правилами валидации полей на сервере и правилами валидации на клиенте
Правила валидации полей на сервере и правила валидации на клиенте настраиваются в разных местах и имеют разную область действия.
Различия в способах настройки
- Правила валидации полей на сервере: правила для полей настраиваются в разделе «Конфигурация источника данных / таблицы данных». Эти правила являются базовыми правилами поля
- Правила валидации на клиенте: дополнительные правила добавляются в настройках поля формы. Эти правила влияют только на компонент текущего поля


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

