2011-01-15 37 views
3

在Rails 3,校驗改變:現在可以指定一次特定領域的所有驗證:消息3

所以不是寫

Rails的2.xx的風格
validates_size_of :username, :within => 5..15, :message=> "username size must be between 5和15"

現在我可以寫

Rails 3的風格

validates :username, :length => { :minimum => 5, :maximum => 40 } 

但是,如果我補充一下:的messge =>「唧唧歪歪」,在最後的例子(Rails 3的風格)的錯誤發生,所以問題是: 如何才能編輯個人錯誤消息模型在視圖中顯示他們?

謝謝

回答

1

當您使用速記validates :model方法,你只能在特定的驗證程序的範圍內添加特定的消息。示例:

validates :username, :length => { :minimum => 5, :maximum => 40, :message => 'should be between 5 and 40 characters' } 

請注意,消息位於:length密鑰的哈希中。否則Rails不知道該消息應該應用於哪個驗證器。

+1

那麼語法errors.add呢?我如何從模型中添加特定的錯誤?這與您引用的技術是否相同? – Joe

+0

如果我正確理解你,是的。 – coreyward

+0

你能給我一個簡單的例子來使用errors.add,而不是你的代碼中的消息嗎?非常感謝您 – Joe