我目前正在使用此代码验证我的模型:
validates :price, :presence => true, :numericality => {:greater_than => 0}
这很好用,但是当我在这个字段中没有输入任何值时,我得到2个错误 - “价格不能为空”和“价格不是数字”。
我可以理解为什么会发生这种情况 - 显然两种测试都失败了。但我想知道是否有办法在一次测试后停止验证,因为没有点测试,如果数字是> 0如果根本没有数字?
谢谢!
编辑:为了清楚起见,我不想让该字段为空白,我只是不希望数字测试运行,如果它是空白的,以避免2错误消息,这是真正的1错误。< / p>
答案 0 :(得分:1)
不确定它是否可行,但您可以尝试:
validates :price, :presence => true, :numericality => {:greater_than => 0, :allow_blank => true }