Данный функционал позволяет добавить проверки на правильность или обязательность заполнения полей на пользовательских формах.
Перед настройкой валидации подключаем клиентский модуль AdministratorClientModule с фичей «Настройка валидации пользовательских форм».
Далее открываем папку “Настройка валидации данных“ расположенную в каталоге «Администрирование/Настройка валидации данных».
Чтобы создать валидацию на определенную форму, нужно знать к какой сущности она относится. Для этого, будучи на форме, нажимаем комбинацию клавиш Ctrl+F11. Откроется окно, где будет отображено название сущности:
Заходим в папку «Настройки валидации данных». Если в папке уже есть сущность, на которую хотим создать валидацию, то заходим в нее. Если нет – создаем новую запись:
На открывшейся форме нужно выбрать сущность:
Для примера создадим валидацию на форму «Направление на госпитализацию», чтобы пользователи не могли создать направление с датой, которая больше текущей.
Добавляем новую валидацию по кнопке «Добавить»:
Откроется форма «Условие валидации (новый)».
Поле «Группа» заполняется в том случае, если хотим как-то сгруппировать разные проверки.
Поле «Контекст» позволяет определить для каких ролей нужна проверка. Если хотим сделать проверку для всех пользователей, указываем « * ».
Галочка «Учитывать иерархию» указывает, нужно ли соблюдать очередность проверки полей на форме.
Галочка «Валидировать объект на сервере» указывает, где будет стоять проверка, только на клиенте или на всем сервере».
Обе галочки стоят по умолчанию и в большинстве случаев их снимать не нужно.
Поле «Тип» определяет, будет проверка «ошибкой» или «предупреждением». Если поставить «Тип = Ошибка», то при неверном заполнении валидируемого поля, форму будет нельзя сохранить. Если «Тип = Предупреждение» - выйдет сообщение, но закрыв его, форму можно будет сохранить.
«Подробное описание» - описывается суть валидации, чтобы в общем списке валидаций можно было увидеть, что содержит в себе определенная запись.
Панель редактирования условия – содержит сам фильтр-условие.
В примере с датой направления указываем контект «*» - для всех пользователей, галочки и тип валидации оставляем по умолчанию.
noteВ условии пишем фильтр с помощью логического запроса ЕСЛИ (CASE) – Если дата направления больше текущей даты, то выдаем пользователю сообщение – «Дата направления не может быть больше текущей даты!», иначе ничего. Также добавим проверку на то, что направление новое. Т.е. на ранее созданные направления проверка не распространяется.
В условии пишем фильтр с помощью логического запроса ЕСЛИ (CASE) – Если дата направления больше текущей даты, то выдаем пользователю сообщение – «Дата направления не может быть больше текущей даты!», иначе ничего. Также добавим проверку на то, что направление новое. Т.е. на ранее созданные направления проверка не распространяется.
Форма будет выглядеть следующим образом:
Нажимаем Ок и сохраняем
Проверяем – создаем направление на госпитализацию, указываем дату направления больше сегодняшней даты. Сохраняем – выходит сообщение: