2011-11-30 95 views
0

在更新用戶表單中,我想從窗體的其餘部分分割密碼。兩種形式衝突

在用戶模型中,我驗證了它。

我想有

形式1

User infos fields 

形式2

password and confirm fields. 

在PHP中我會做這樣的事情後,如果密碼爲空,忽略它。

是有什麼樣

if :password 
    do validation 
end 

我需要的模型部分,我有休息。

只需要一個想法如何拆分驗證模型或如何實現這一點。

回答

1

我希望我沒有理解你

class User << AR 
    validates :password, 
    :lenght => {:between => 3..20}, 
    :confirmation => true, 
    :if => Proc.new { self.password } 
end 
+0

也許簡化它:如果我離開的密碼爲空,我更新我的信息,不更新密碼爲空。 – flakerimi

+0

我想我找到了它:http://therailsway.com/2009/8/3/users-and-passwords – flakerimi

+0

是的,但那與我的答案相同(在另一個結構中並且驗證了確認)。但請注意,如果密碼爲空,您發佈的解決方案不會驗證您的密碼! (所以用戶可以用密碼更新他的帳戶==「」!) – Lichtamberg