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 для более продвинутой техники