为什么我的验证没有通过

时间:2011-04-05 12:35:21

标签: ruby-on-rails regex ruby-on-rails-3 grails-validation

我正在开发Rails 3应用程序。

我想验证“蛋糕”模型的“尺寸”属性输入字段,只允许用户输入 + 1,-1,+ 10 ,-10 + 25,-25 ,没有别的。

我使用以下验证来验证“尺寸”:

class Cake < ActiveRecord::Base
  validates_format_of :size, :with => /^[-+]?(1|10|25)$/, :message=>'size not allowed.'
  ...

end

(我的数据库“cake”表中的“size”属性是“ double ”类型。)

在用户界面中,即使我输入1或10或25或+1或其他任何内容,我总是会收到验证的失败消息。为什么我的验证没有通过,即使值是正确的?

1 个答案:

答案 0 :(得分:3)

我不确定使用正则表达式验证整数是否有效。

您可以尝试validates_inclusion_of :size, :in=>[-1,+1,-10,+10,-25,+25], :message=>'size not allowed.'