2011-11-15 89 views
0

我在保存數據庫中的用戶對象時遇到問題。我在模型(電子郵件和密碼)中有兩個字段,它們在數據庫本身中不允許爲空。另外,我已經在模型中加入驗證像在rails中保存模型時出現多個驗證錯誤問題3

validates_presence_of :email, :message => "must be provided" 
    validates_presence_of :password, :message => "must be provided" 

現在,當我嘗試將模型從控制器的創建方法保存,它的無效數據,並再次呈現新動作。但是,我有多個錯誤消息爲每個字段

Email can't be blank 
Email must be provided 
Password can't be blank 
Password must be provided 

我不需要多個錯誤消息爲同一個。我怎樣才能消除這一點?

+0

你有兩個驗證發生的外觀。你能發佈你的模型代碼嗎?你的模型是否直接從'ActiveRecord :: Base'繼承,或者你在模型類和它之間插入了一個類?如果是這樣,你是否有中級的驗證。基本上,我們需要更多的繼續。 :) – Ben

回答

1

看起來像你在兩個不同的地方驗證。你必須弄明白的地方......

如果你正在做兩個不同的驗證了外地,想在一個時間上顯示的字段一個錯誤信息,你可以做到以下幾點,

validates_presence_of :email, :message => "must be provided" 
validates_uniqueness_of :email, :message => "must be unique", 
    :if => lambda { |a| a.errors.on(:email).blank? } 
0

看起來你正在渲染錯誤兩次。檢查你的所有視圖,它們也可以被繼承。

+0

嗯,錯誤雖然不同。看起來更像是有兩組驗證正在進行 - 在Rails中再次渲染不會導致重新驗證。 – Ben

相關問題