我的用户包含以下字段
name, email, phone
我添加了模型验证,如下所示。
validates :phone, uniqueness: true
validates :email, confirmation: true
如果我输入电子邮件并提交表格而未输入电话号码,我会收到电话验证错误。
但如果我在没有电子邮件的情况下提交表单,则没有任何验证工作正常。
这似乎很奇怪,因为验证仅在电子邮件字段有价值时有效。
我希望电话号码唯一性验证能够正常运行。但是,如果没有输入电子邮件,这似乎不起作用。
关于什么是真正的问题?
答案 0 :(得分:1)
添加presence: true
以确保电子邮件是否存在
validates :email, confirmation: true, presence: true
email
presence: true
仅当email_confirmation不为nil时才会执行此检查。要确认,请确保添加确认属性
的状态检查validates :email, confirmation: true
validates :email_confirmation, presence: true
的内容
答案 1 :(得分:0)
您还应验证电子邮件的存在。您的电子邮件验证应该是这样的。
validates :email, presence: true, confirmation: true
有关详细信息,请查看此页面。谢谢 https://apidock.com/rails/v4.2.7/ActiveModel/Validations/ClassMethods/validates