我有来自用户的Yii表单接受first name
,last name
和email
。使用add more
链接,用户可以添加这三个元素的多行。
对于电子邮件验证,unique
和required
在模型规则中设置,一切正常。我在点击add more
链接时使用JavaScript创建添加行。
问题
在第一行,我的值为John, Newman, johnnewman@gmail.com
,第二行,我正在输入Mathew, Heyden, johnnewman@gmail.com
。在这种情况下,电子邮件地址是重复的。验证规则(require
和unique
)都无法验证这一点。有人可以建议一种更好的方法来验证这个吗?
更新
我创建了一个自定义验证功能,我想这足以解决我的问题。有人可以告诉我如何在自定义验证功能中访问整个form data
/ post data
吗?
public function uniqueOnForm($attribute){
// This post data is not working
error_log($_REQUEST, true);
$this->addError($attribute, 'Sorry, email address shouldn\'t be repeated');
}