Yii:除一个场景外总是适用的验证规则

时间:2012-11-07 21:25:08

标签: php validation yii model yii-validation

我知道您可以拥有仅适用于一种情况的验证规则:

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

现在我想知道是否可以采取相反的做法:除了给定的场景之外每次都适用的规则?

现在看到的唯一解决方案是列出所有其他方案,但如果我们稍后需要添加一些新闻方案,那就不太好了。

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

2 个答案:

答案 0 :(得分:36)

从Yii 1.1.11开始,您可以使用except关键字:

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

看看this page。那里有一个小例子。

Doc link

答案 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了解更多高级技术