结合Rails中的验证错误

时间:2009-09-08 14:01:07

标签: ruby-on-rails ruby validation

例如,如果我的用户的电子邮件地址需要在论文和格式上进行验证:

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,这只是一个例子。感谢

2 个答案:

答案 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。对于像这样的情况,这可能非常方便。