2013-03-17 31 views
0

我是新来的rails和当前学习验证,所以我创建了一个窗体,其中我有一个名为no(类型整数)的字段,在验证模型中我有做了这样的事情:提交时的Rails 3空字段显示多个错误消息

validates :no, 
     :presence => true, 
     :uniqueness => true, 
     :numericality => { :only_integer => true, :greater_than_or_equal_to => 1, :less_than_or_equal_to => 99999 } 

现在,当两个以上的错误信息被输入任何内容显示

1]没有を入力してください - >请输入没有。 2] Noは数値で入力してください。 - >请仅输入数字。

抱歉生根粉日本的东西,我的操作系统是在日本;-)

我需要的是,当“不”字段为空,它应该只显示该空虚ERROR_MESSAGE。目前它正在显示error_message,表示当字段只是空的时候的数字存在性&。

对不起,如果这是一个非常基本的问题,我试图寻找答案,但我似乎无法找到任何。

回答

0

将您的数值验证更改为仅当该字段存在时才起作用。

validates :no, 
    :presence => true, 
    :uniqueness => { :if => :no_is_present? }, 
    :numericality => { 
    :only_integer => true, 
    :greater_than_or_equal_to => 1, 
    :less_than_or_equal_to => 99999, 
    :if => :no_is_present? 
    } 

def no_is_present? 
    no.present? 
end 
+0

快速回复嗨jvnill THX它解决了prblm的一半,NW上BTN点击时,该字段为空只显示所需的错误消息,但是当我输入字符然后2封邮件[只输入号码] &[记录已经存在]显示...在发布这个问题之前,我已经尝试过自定义验证,而在做它我发现字符设置为0的no属性,我有一个记录0分贝是必要的,ç帮助我与此..thanku – 2013-03-17 13:27:41

+0

你想在这种情况下显示什么?你能用一个具体的例子更新你的问题吗? – jvnill 2013-03-17 13:34:00

+0

As'no'是整数比它应该只显示错误味精[只输入数字]为什么它显示[记录已存在]为字符 – 2013-03-17 13:38:13

相关问题