validation非模型字段
我在我的新表单中添加了一个额外的字段:
它指定要创建的记录的副本数。
如何validation该字段的存在(或数字),因为它不是模型本身的一部分?
validates_presence_of :quantity
失败!!!
发现。 您可能希望在模型中添加虚拟属性。
......... attr_accessor :not_on_db ......... validates_presence_of :not_on_db, validates_length_of :not_on_db, :within => 1..5 .........
使用validates_numericality_ofvalidation。 默认情况下,数值validation检查浮点类型,您需要告诉您想要查看整数。 由于数量不会存储在db中,因此需要是虚拟的。
试试这个:
attr_accessor :quantity validates_numericality_of :quantity, :only_integer => true
validates_numericality_of默认情况下不接受nil,您不需要检查属性的存在,并且您可能想要更改视图中数量的范围,我不会在此处validation它。
您要validation范围,将其声明为模型中的常量。 在validation和视图中都参考此常量。