我目前正在使用以下代码验证我的模型:
validates :price, :presence => true, :numericality => {:greater_than => 0}
这很好用,除了当我没有在此字段中输入任何值时,我得到 2 个错误 - “价格不能为空白”和“价格不是数字”。
我可以理解为什么会发生这种情况 - 显然它没有通过两项测试。但是我想知道是否有一种方法可以在一次测试后停止验证,因为如果根本没有数字,那么如果数字大于 0,就没有必要进行测试?
谢谢!
编辑:为了清楚起见,我不想让该字段为空白,我只是不想在它为空白时运行数值测试,以避免出现 2 个错误消息,因为实际上是 1 个错误。