跳过 Yii 模型的电子邮件 'Unique' 验证
Skip email 'Unique' validation of Yii model
我已经在我的 Yii 模型之一中编写了电子邮件规则 class :
array('first_name, last_name, email, password, cpassword, user_type', 'required'),
array('email', 'email','message'=>"The email isn't correct"),
array('email', 'unique','message'=>"Email already exists!"),
它适用于所有场景,如注册、登录和更新密码,但在忘记密码的功能中,unique
验证也有效。我只想在忘记密码功能时跳过此验证规则,我只想检查电子邮件的语法和所需功能。
那么我们如何才能跳过这个针对不同(忘记密码)功能的特定 unique
验证?
array('email', 'unique','message'=>"Email already exists!", 'except' => 'your_forgot_passw_scenario'),
试试这个。
您可以使用选项 "except" 并在您的操作中添加场景。
array('first_name, last_name, email, password, cpassword, user_type', 'required'),
array('email', 'email','message'=>"The email isn't correct"),
array('email', 'unique','message'=>"Email already exists!", 'except' => 'passwordRestoration'),
然后,在行动
...
$model = User::model()->findByPk($pk);
$model->scenario = 'passwordRestoration';
我已经在我的 Yii 模型之一中编写了电子邮件规则 class :
array('first_name, last_name, email, password, cpassword, user_type', 'required'),
array('email', 'email','message'=>"The email isn't correct"),
array('email', 'unique','message'=>"Email already exists!"),
它适用于所有场景,如注册、登录和更新密码,但在忘记密码的功能中,unique
验证也有效。我只想在忘记密码功能时跳过此验证规则,我只想检查电子邮件的语法和所需功能。
那么我们如何才能跳过这个针对不同(忘记密码)功能的特定 unique
验证?
array('email', 'unique','message'=>"Email already exists!", 'except' => 'your_forgot_passw_scenario'),
试试这个。
您可以使用选项 "except" 并在您的操作中添加场景。
array('first_name, last_name, email, password, cpassword, user_type', 'required'),
array('email', 'email','message'=>"The email isn't correct"),
array('email', 'unique','message'=>"Email already exists!", 'except' => 'passwordRestoration'),
然后,在行动
...
$model = User::model()->findByPk($pk);
$model->scenario = 'passwordRestoration';