yii2.不能将不同的验证规则结合在一起


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

如果我这样做,它说:

设置未知属性:yii catcha catchavalidator :: 0

,但是如果我遵循:

,它可以正常工作。
['captcha', 'captcha'],
['captcha', 'required'],

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

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

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

因此,此数组仅适用于1个验证器,但是多个字段和valprop1,valprop2是内置验证器类属性。一个例子是:

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

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

为了结合规则,您需要以格式编写每个规则,每个规则每个验证器都分开,类似的内容:

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

最新更新