Валидация полей

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

Конфигурация правил

20250819181342

Системные поля NocoBase интегрируют правила Joi, поддержка реализована следующим образом:

Строка

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

Общие правила

  • Минимальная длина
  • Максимальная длина
  • Длина
  • Шаблон
  • Обязательное

Электронная почта

20250819192011

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

URL-адрес

20250819192409

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

UUID

20250819192731

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

Число

Типы чисел Joi соответствуют следующим типам полей NocoBase: Целое число (Integer), Число (Number) и Процент (Percentage).

Общие правила

  • Больше чем
  • Меньше чем
  • Максимальное значение
  • Минимальное значение
  • Кратность

Целое число (Integer)

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

20250819193758

Число и процент (Number & Percentage)

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

20250819193954

Дата (Date)

Типы дат Joi соответствуют следующим типам полей NocoBase: Дата (с часовым поясом), Дата (без часового пояса), Дата(без времени) и Unix-временная метка (Unix timestamp).

Поддерживаемые правила проверки:

  • Больше чем
  • Меньше чем
  • Максимальное значение
  • Минимальное значение
  • Метка времени
  • Обязательное

Поля связей

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

20250819184344

Применение правил проверки

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

20250819201027

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

20250819202514

20250819202357

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

20250819203016

Отличия от проверки полей на стороне клиента

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

Отличия метода конфигурации правил

  • Проверка на стороне клиента: настройте правила в формах редактирования (как показано на рисунке ниже)
  • Проверка на стороне сервера: задайте правила полей в Источник данных → Конфигурация коллекции

20250819203836

20250819203845

Отличия во времени срабатывания правил проверки

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