Yii2。无法将不同的验证规则组合在一起

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Yii2。无法将不同的验证规则组合在一起相关的知识,希望对你有一定的参考价值。

[['captcha'], 'captcha', 'required'],

如果我这样做,它会说:

设置未知属性:yii captcha CaptchaValidator :: 0

但如果我这样做,它的工作正常:

['captcha', 'captcha'],
['captcha', 'required'],

您认为问题是什么?为什么我不能合并规则?

答案

因为在Yii中,规则表示为这样的数组:

['field1', 'validator1', 'valProp1'=>'valProp1Value', 'valProp2'=>'valProp2Value', ...]

所以这个数组只适用于1个验证器但多个字段和valProp1,valProp2是内置的Validator类属性。一些例子是:

['field1', 'email','skipOnEmpty'=>true]

yiivalidatorsEmailValidator字段设置field1并设置skipOnEmpty的电子邮件验证器的true属性

为了组合规则,您需要以每个验证器的每个规则分开的格式编写,如下所示:

['captcha','captcha'],
['captcha','required']

以上是关于Yii2。无法将不同的验证规则组合在一起的主要内容,如果未能解决你的问题,请参考以下文章

Yii2 在“select2”小部件上需要验证规则

YII2 Rules 规则大全

Yii2 验证规则

yii2唯一验证器仅当字段不为空时

Yii2:如何为模型类动态添加验证规则?

Yii2.0 rules验证规则大全