我已經爲我的Rails模型添加了對驗證的less_than
和greater_than
,但它們顯然相互衝突。Rails驗證小於0或大於0,或字段不等於0
我想確保Rails驗證模型上的字段永遠不會爲0.所以小於或大於0,但不是兩者,因爲這是不可能的。
我該怎麼做?
我已經爲我的Rails模型添加了對驗證的less_than
和greater_than
,但它們顯然相互衝突。Rails驗證小於0或大於0,或字段不等於0
我想確保Rails驗證模型上的字段永遠不會爲0.所以小於或大於0,但不是兩者,因爲這是不可能的。
我該怎麼做?
已經有這個驗證程序叫numericality
http://edgeguides.rubyonrails.org/active_record_validations.html#numericality
class Player < ApplicationRecord
validates :salary, numericality: { other_than: 0 }
end
validate :non_zero
def non_zero
if self.field_name == 0
self.errors.add(:field_name, "Field can't be zero")
end
end
我名'non_zero'。 –
@MartinSvalin同意。改變。 – toddmetheny
For Rails 4+當然。 – vee
工作,謝謝。 – Noah