Возможности
Правила объекта — это механизм, который позволяет создавать правила валидации записей на языке JavaScript. Эти правила работают на уровне объекта в рамках всего приложения — на всех формах объекта, а также при инлайн-редактировании списков.
Если пользователь попытается сохранить запись, для которой не выполняется хотя бы одно правило валидации, то сохранение заблокируется и отобразится ошибка.
Ключевые возможности
Использование JavaScript. Логика валидации задается с помощью функций JavaScript и позволяет использовать для описания логики весь набор встроенных конструкций и функций. Редактор кода поддерживает автодополнение и содержит встроенную документацию.
Валидация записей и отдельных полей. Есть возможность валидировать как записи целиком, так и отдельные поля, а также группы полей и их зависимости.
Именованные проверки. Все правила именуются. Если правило не выполняется, пользователю в интерфейсе выводится ошибка с названием правила. Это дает возможность наглядно описать требования к объектам, на основе которых можно сформировать документацию по системе.
Работает на форме и в инлайне. Правила отрабатывают одинаково как на форме, так и при инлайн-редактировании в списке. Если есть несколько форм или списков объекта, правила работают на всех этих формах и списках.
Поддержка DFK. Если у объекта имеются поля с динамической связью, то правила объекта динамической связи будут работать и на родительской форме.
Валидация по полям, отсутствующим в списке и на форме. Правила отрабатывает по полям, в том числе тем, которые не выведены в список или в форму.
Возможность отладки. Можно использовать стандартную отладку в браузере, добавляя точки остановки с помощью JavaScript-инструкции
debugger
. Также доступно логирование с помощьюconsole.log()
.Только серверные или только клиентские правила. Можно управлять на какой стороне исполнять проверку: и на сервере и на клиенте, или только на одной из сторон. Используйте
if($mdt.isClientMode)
для проверки на клиенте,if(!$mdt.isClientMode)
для сервера, или без условия для одновременного выполнения на обеих сторонах.Фильтрация значений в FK-полях. Для FK-полей можно задать логику фильтрации доступных для выбора записей.
Возможность вызвать хранимую функцию. С помощью
data.fetch
можно вызывать SQL-функции, а также передавать параметры.
Как начать работу
Ознакомьтесь с примерами правил в статье Примеры правил.
Настройте правила по инструкции Настройка.