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

时间:2017-12-17 09:33:27

标签: yii2

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

如果我这样做,它说:

  

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

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

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

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

1 个答案:

答案 0 :(得分:3)

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

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

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

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

yii\validators\EmailValidator字段上设置field1,并将电子邮件验证程序的skipOnEmpty属性设置为true

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

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