2015-06-19 59 views
0

我给予我的用户更改他们的帐户电子邮件的能力。为此,当他们提交他们想要切换到的新电子邮件时,我将该电子邮件作为临时电子邮件存储在我的数据库中。一旦用户点击发送到新电子邮件的确认电子邮件,他们的原始电子邮件将变成他们的新电子邮件。在我的“用户”表中,我有一列“电子邮件”,另一列是“temp_email”。当用户向“temp_email”列提交新电子邮件时,我想验证它不仅在“temp_email”列中是唯一的,而且在“电子邮件”列中也是唯一的。在Yii中,你如何验证表中另一列的唯一性?

目前,我有这两个阵列在我的规则()函数:

阵列( 'temp_email', '电子邮件'),
阵列( 'temp_email', '独特', '消息'=> UserModule :: t(“此用户的电子邮件地址已存在。”))

其中说临时电子邮件必须是电子邮件格式,并且它不能与任何其他临时电子邮件相同。我必须补充说的第三个数组是什么,说临时电子邮件不能与“电子邮件”列中的任何其他电子邮件相同?谢谢!

回答

0

您可以添加额外的属性,您的规则指定唯一确切的规则检查

array('temp_email', 'unique', 
     'className' => 'User', 'attributeName' => 'email', 
     'message' => "This user's email address already exists."),