[英]filter not working in yii2
我想检查邮件已经被不同的用户使用验证规则登记的exist
。 我写了以下代码:
['email','exist',
'targetClass' => User::className(),
'targetAttribute' => 'email',
'message' => 'This email has already been taken. Please try another',
'filter' => ['!=', 'user_id', Yii::$app->user->identity->id]],
无论是否存在使用相同电子邮件地址的其他用户,每次都会引发错误。 我想从此代码进行确切的反向验证。
{
"field": "email",
"message": "This email has already been taken. Please try another"
}
你想用
['email', 'unique'],
同样在数据库中,您可以将列标记为唯一(至少对于我正在使用的MySQL)。
它将检查指定列中的唯一记录。
也许您还应该设置唯一的目标类
['email','unique','targetClass'=>'\\ common \\ models \\ User']
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.