2

嗨我想验证一个表单输入,所以它只需要数字 1-9 作为输入,如何实现

我的模型中有这个,但似乎无法正确匹配

validates_format_of :myfield, :with => ??????, :on => :create

4

2 回答 2

3

请看这里:http ://apidock.com/rails/ActiveModel/Validations/HelperMethods/validates_inclusion_of

 validates :myfield, :inclusion => { :in => 1..9 }

或者

 validates_inclusion_of :myfield, :in => 1..9

编辑- 我认为myfield是一个integer,但如果你已经定义它,string你需要添加validates_numericality_of

validates_numericality_of :myfield, :only_integer => true
validates_inclusion_of :myfield, :in => 1..9
于 2012-06-27T12:22:46.673 回答
1

validates_format_of :myfield, :with => /([^a-zA-Z][1-9]?)/, :on => :create

如果您使用的是 2.3.x,应该会很好

注意2.3.8后去掉

于 2012-06-27T12:30:49.070 回答