Yii: правила проверки, которые всегда применяются, кроме одного сценария

Я знаю, что у вас может быть правило проверки, которое применяется только для одного сценария:

array('username', 'exist', 'on' => 'update'),

Теперь я хотел бы знать, возможно ли сделать наоборот: правило, которое применяется каждый раз, за ​​исключением данного сценария?

Единственное решение, которое можно увидеть прямо сейчас, - это перечислить все остальные сценарии, но это не очень приятно, если нам нужно добавить некоторые новостные сценарии позже.

array('username', 'exist', 'on' => array('create', 'search', ...),//all the scenarios except update

1 ответ

Решение

Начиная с Yii 1.1.11 вы можете использовать except ключевое слово:

array('username', 'exist', 'except' => 'update'),

Посмотрите на эту страницу. Там есть маленький пример.

Ссылка на документ

Работайте так же в Yii 2.0.

['username', 'required', 'except' => 'update']

Каждый ключ в массиве перед именем валидатора является свойством самого класса валидатора. Вы можете увидеть доступные свойства в https://www.yiiframework.com/doc/api/2.0/yii-validators-validator

Я знаю, что это старый вопрос, но каждый раз я забывал, что yii2 имеет свойство except в классе валидатора.

https://www.yiiframework.com/doc/guide/2.0/en/input-validation для более продвинутой техники

Другие вопросы по тегам