繁体   English   中英

在Yii2中使用独立验证器时传递多个属性

[英]Passing in multiple attributes when using Stand alone validators in Yii2

我想在Yii2使用独立的验证器 ,但是我不确定在覆盖validateAttributes()时如何传递多个属性。

这是我的验证程序的示例:

class RegistrationValidator extends Validator {

    public function validateAttributes($model, $attributes = null) {

    }

}

这是我从模型内部的rules()方法中调用它的方式:

[['username','email'], RegistrationValidator::className()],

但是,当在attributes变量的验证器中执行var_dump时,我似乎拥有所有属性名称,而不仅仅是用户名和电子邮件。

我在这里做错了什么?

您已覆盖错误的方法。 您应该重写validateAttribute($ model,$ attribute)而不是validateAttributes($ model,$ attributes = null) 至少这是常用的方法。

您可以使用参数访问模型的属性(已通过validateAttributes() )。 但是,然后您必须确定属性应获取的错误消息。 您可以使用$ attribute参数来区分。 但是您不必为这两个属性都添加错误,尽管这可能是合理的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM