我正在开发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或其他任何内容,我总是会收到验证的失败消息。为什么我的验证没有通过,即使值是正确的?
答案 0 :(得分:3)
我不确定使用正则表达式验证整数是否有效。
您可以尝试validates_inclusion_of :size, :in=>[-1,+1,-10,+10,-25,+25], :message=>'size not allowed.'