0

我有名称 print run 的文本字段,必须以以下格式验证

打印运行字段的有效值为正整数、“无限制”和“无声”。

我添加了这样的验证

VALID_NAMES = %w(Unlimited silent  #k)
  validates_inclusion_of :print_run, :in => VALID_NAMES

如何进行验证以接受正整数...

validates_numericality_of :print_run, :only_integer => true, :message => "can only be whole number."

上述验证只接受数字

Integer(attributes_before_type_cast["print_run"])        
errors.add_to_base( "print_run must be a number")    

上面的语句只接受数字,但不接受正整数的验证

如何继续这个..

4

1 回答 1

0

如果你只想要正整数,

validates_numericality_of :print_run, :only_integer => true,:greater_than_or_equal_to => 0, :message => "can only be whole number."

如果你想要无限静默正整数

validates_format_of :print_run, :with => /\A(Unlimited|silent|\d*)\z/, :message => "your custom message"
于 2013-01-04T12:54:20.970 回答