0
後,我想知道你是怎麼通過其他驗證,例如驗證後場,我有:提前ActiveRecord的字段驗證一個其他
validates_numericality_of :field
validates_inclusion_of :field (after validating field's numericality)
感謝。
後,我想知道你是怎麼通過其他驗證,例如驗證後場,我有:提前ActiveRecord的字段驗證一個其他
validates_numericality_of :field
validates_inclusion_of :field (after validating field's numericality)
感謝。
您必須爲此編寫自定義驗證方法。
這是我會怎麼做:
validate :custom_inclusion
private
def custom_inclusion
range = (1..100)
begin
Kernel.float(field)
rescue ArgumentError
errors.add(:field,"is not a number") and return
end
if !(range.min < field.to_i && range.max > field.to_i)
errors.add(:field,"is not between #{range.min} and #{range.max}")
end
end
其中field
屬性是要驗證的模型。
非常感謝。我的另一種方法是在'validate_inclusion_of'驗證中追加':if =>:non_zero'選項,因爲當非數字值被分配給它時,這些字段將該值轉換爲0(零)。 – 2012-02-07 07:28:35