我知道您可以拥有仅适用于一种情况的验证规则:
array('username', 'exist', 'on' => 'update'),
现在我想知道是否可以采取相反的做法:除了给定的场景之外每次都适用的规则?
现在看到的唯一解决方案是列出所有其他方案,但如果我们稍后需要添加一些新闻方案,那就不太好了。
array('username', 'exist', 'on' => array('create', 'search', ...),//all the scenarios except update
答案 0 :(得分:36)
从Yii 1.1.11开始,您可以使用except
关键字:
array('username', 'exist', 'except' => 'update'),
看看this page。那里有一个小例子。
答案 1 :(得分:0)
在Yii 2.0中以相同的方式工作。
['username', 'required', 'except' => 'update']
验证器名称之前的数组中的每个键都是Validator类本身的属性。您可以在https://www.yiiframework.com/doc/api/2.0/yii-validators-validator
中查看可用属性我知道这是一个老问题,但是每次我忘记yii2在验证器类中都有一个except属性。
https://www.yiiframework.com/doc/guide/2.0/en/input-validation了解更多高级技术