2013-03-17 57 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