Yii:除一个场景外始终适用的验证规则

2022-08-30 18:25:19

我知道你可以有一个仅适用于一种方案的验证规则:

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

现在我想知道是否有可能做相反的事情:除了给定的scenrio之外,每次都适用的规则?

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

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

答案 1

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

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

请看这个页面。这里有一个小例子。

文档链接


答案 2

在 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


推荐