ruby-on-rails – Rails验证用户电子邮件 – 只希望它在用户注册
发布时间:2020-12-16 19:26:31 所属栏目:百科 来源:网络整理
导读:我有一个用户模型,具有通常的属性,如电子邮件和hashed_pa??ssword等.我想写一个验证,检查电子邮件地址的存在,但只有当 1)数据库中没有一个存储在该对象中(即这是新用户注册) 2)用户正在尝试更新其电子邮件地址. 我目前的验证 validates_presence_of :email v
我有一个用户模型,具有通常的属性,如电子邮件和hashed_pa??ssword等.我想写一个验证,检查电子邮件地址的存在,但只有当
1)数据库中没有一个存储在该对象中(即这是新用户注册) 2)用户正在尝试更新其电子邮件地址. 我目前的验证 validates_presence_of :email validates_presence_of :email_confirmation validates_confirmation_of :email 显然阻止我更新任何属性.我想到了使用 validates_presence_of:email,:if:email_validation_required? def email_validation_required? self.email.blank? end 但是,这不会帮助方案2,因为它将返回true,因为用户在db中有一个密码电子邮件地址. 我无法解决如何将其限制在上述的两个场景中. 谁能帮忙? 解决方法
我认为EmFi正在进行中.但我不认为validates_presence_of:电子邮件应该控制你.电子邮件应该始终存在 – 如果以空格形式显示,参数不会与用户的保存混淆.如果以表单输入,即使更新,它应该有一个电子邮件确认一起骑.
试试这个: validates_presence_of :email validates_presence_of :email_confirmation,:if => :email_changed? validates_confirmation_of :email (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |