1
我的網站已連接到外部vbulletin論壇。 我有自定義用戶驗證器來檢查用戶名,電子郵件是否存在於vbulletin論壇上。用戶重置密碼時僅運行密碼/ password_confirmation驗證
validate :check_if_forum_user_exists
def check_if_forum_user_exists
if Vbuser.find_by_email(email.downcase)
errors.add(:email, "error 1")
end
if !Vbuser.find(:all, conditions: ["lower(username) = lower(?)",name]).empty?
errors.add(:name, "error 2")
end
end
我有非常基本的密碼重置功能。在結束步驟中,用戶輸入存儲在params[:user]
中的密碼和password_confirmation。 在控制器中,我想用@user.update_attributes(params[:user])
保存並獲得驗證「錯誤1」(因爲所有現有用戶都有它會始終觸發的vbulletin帳戶)。
我想只運行has_secure_password驗證器,沒有其他人,因爲我不改變任何東西,但密碼。任何想法我怎麼能做到這一點? 爲什麼這個自定義驗證器觸發。