Ruby on rails 如何在rails 2中为这种情况添加验证
我有一个名为print run的文本字段,必须以 打印运行字段的有效值为正整数、“无限”和“无提示” 我添加了这样的验证Ruby on rails 如何在rails 2中为这种情况添加验证,ruby-on-rails,ruby-on-rails-2,Ruby On Rails,Ruby On Rails 2,我有一个名为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 =&
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")
上面的语句只接受数字,不接受正整数的验证
如何进行这项工作 如果只需要正整数
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"