Yii — динамическое создание правила валидации

Бывает что в yii нужно на ходу в зависимости от конкретных параметров добавить новое правило валидации.

Для этого нам потребуется просто добавить в лист валидаторов новое правило (validation rule):

$validators = $model->getValidatorList();
$validators->add(CValidator::createValidator(‘match’, $model, array(‘our_variable’),
array(
‘pattern’ => ‘/^[А-Я]/i’,
‘message’ => ‘Только большие русские буквы пожалуйста’
)
));

Как пример, тут используется правило match. Оно сравнивает по регулярному выражению pattern значение our_variable и если оно некорректно выдает message.

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *