例如,如果我的用户的电子邮件地址需要在论文和格式上进行验证:
validates_presence_of :email_address, :message => "can't be blank"
validates_format_of :email_address, :with => /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i
如果未输入任何内容,我该如何防止出现这两个错误消息?我知道在这种情况下我不需要validates_presence_of,这只是一个例子。感谢
答案 0 :(得分:3)
在此示例中,您可以将:allow_blank => true
添加到validates_format_of
。
一般来说,我认为这取决于具体情况,通常可以通过巧妙使用ActiveRecord validation options来解决。
答案 1 :(得分:1)
您还可以引入条件:if,例如:
validates_format_of :email_address, :with => EMAIL_REGEXP, :if => :email_address?
email_address?仅当该字段具有非空值时,该方法才应返回true。对于像这样的情况,这可能非常方便。