Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何在rails 2中为这种情况添加验证_Ruby On Rails_Ruby On Rails 2 - Fatal编程技术网

Ruby on rails 如何在rails 2中为这种情况添加验证

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 =&

我有一个名为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")    
上面的语句只接受数字,不接受正整数的验证


如何进行这项工作

如果只需要正整数

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"