Создание правил валидации
1-ый способ: Замыкание
Создать свой способ валидации можно через замыкание (англ. Closure), также такой способ ещё называют «анонимные функции».
На примере ниже показан пример создания валидации для параметра «color».
public function rules() { return array( ['title','required'], ['color', function ($attribute, $params) { if ($this->$attribute != 'green') { $this->addError($attribute, 'Поле «'.$attribute.'» должно содержать название цвета'); } }], ); }
2-ой способ: Создание правила
Отдельное правило для валидации создаётся как обычный метод, который затем указывается в методе rules()
.
public function rules() { return array( ['title','required'], ['color', 'isColor'], // пользовательская валидация ); } public function isColor($attribute, $params) { if ($this->$attribute != 'green') { $this->addError($attribute, 'Поле «'.$attribute.'» должно содержать название цвета'); } }
Поддержать автора