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验证器,没有其他人,因为我不改变任何东西,但密码。任何想法我怎么能做到这一点? 为什么这个自定义验证器触发。