2012-09-26 42 views
0

如何僅在'創建'和'更改'時驗證密碼字段。如何在Rails上驗證密碼?

如果更新頁面上爲空,則跳過驗證,表示用戶不想更改它?

這裏的形式

<%= semantic_form_for [:admin, @account] do |f| %> 
    <%= f.semantic_errors %> 

    <%= f.inputs do %> 
    <%= f.input :email %> 
    <%= f.input :password %> 
    <%= f.input :password_confirmation, :label => 'Confirm Password' %> 

的一部分,我已經試過了答案這裏

How do I exclude password fields from validation during record update? (Rails 3.0.4, Ruby 1.9.2)

但是當密碼字段是更新空它還檢查。

+0

你使用什麼認證系統?設計? –

+0

是的。我是新來的項目,但只是熟悉默認的Rails驗證 – wnoveno

+0

這將是一個更好的方式,如果你發佈你的控制器做什麼,以及你的模型驗證,因爲客戶端代碼不會驗證 –

回答

0

如果你想跳過驗證和回調也許this answer可以幫助你......

0

只要做到這一點:

validates :password, presence => true, :if => :password 

這會在更新時跳過。

+0

它是由於密碼字段在更新時爲空,所以會引發錯誤(前端)。 – wnoveno

+0

在所有rails應用程序中甚至在任何應用程序中更新密碼anad更新字段在單獨的頁面上完成,因此它會更好你在分頁上做它意味着分離函數 –