Rails验证:隐含存在验证

时间:2014-04-18 16:05:25

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.2

我们在表单中说有一个电话字段,其格式验证为:

validates_length_of :phone, :is => 9

但是,这不是一个受欢迎的领域。它可以为空白,但如果填写,则格式验证应该开始工作。

我怎样才能"禁用"隐式存在验证?

1 个答案:

答案 0 :(得分:2)

如果字段未设置,您可以使用allow_blank跳过验证:

validates :phone, :length => { :is => 9 }, :allow_blank => true

有关其他详细信息,请参阅the Rails validations guide

所以,对于你的明确例子:

validates_length_of :phone, :is => 9, :allow_blank => true

允许phone字段为空字符串或nil,并跳过验证。