[英]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.