Валидация
Существует два простых способа внедрить валидацию в ваши модели, вы можете комбинировать их по желанию. Также есть один сложный путь. Для начала вы должны наследовать ваши модели от SleepingOwl\Models\SleepingOwlModel
.
Простой путь
1. Используя элементы формы
Вы можете добавить правила валидации к элементу формы:
FormItem::text('title')->required()->unique()->validationRule('my-custom-rule')
required()
принимает один параметр: true
— если поле обязательно только при создании новой записи, false
— если поле обязательно всегда. Если параметр не указан — используется false
.
Используйте unique()
чтобы указать, что поле должно быть уникальным в пределах модели.
Вы можете использовать validationRule($rule)
чтобы добавить любое правило, которое вам нужно. Вы можете использовать разделитель |
.
2. Используя модель
Вы можете создать метод public function getValidationRules()
в вашей модели, который будет возвращать правила валидации.
Сложный путь
Сложный путь состоит в имплементации в вашей модели интерфейса SleepingOwl\Models\Interfaces\ValidationModelInterface
. Он определяет 2 метода: validate($data)
и getValidationRules()
. Вы должны вручную написать валидацию в этих методах. Если данные не прошли валидацию необходимо создать ошибку SleepingOwl\Admin\Exceptions\ValidationException
.
Дополнительные правила валидации
url_stub
– в поле содержится правильная часть url`а (без слэшей)url_stub_full
– в поле содержится правильная часть url`а (включая слэши)