Php 过滤器在yii2中不工作

Php 过滤器在yii2中不工作,php,yii2,Php,Yii2,我想使用验证规则exist检查电子邮件是否已向不同的用户注册。我编写了以下代码: ['email','exist', 'targetClass' => User::className(), 'targetAttribute' => 'email', 'message' => 'This email has already been taken. Please try another', 'filter' => ['!=', 'user_id', Yii::$app-&g

我想使用验证规则
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'],
在数据库中,您还可以将列标记为唯一的(至少对于我正在使用的MySQL)


它将检查指定列中的唯一记录。

可能是您还应该设置唯一和目标类


['email','unique','targetClass'=>'\common\models\User']

可能是您还应该设置unique和targetClass


['email','unique','targetClass'=>'\common\models\User']

好的,没问题,如果您有任何其他问题,请直接向我咨询!好的,没问题,如果你还有其他问题,直接问我!