我正在尝试使用RubyonRails验证器"调整"我看到的行为。在我们的应用程序中,我们要求在更改密码之前确认密码。
Ruby验证器非常简单,只需在模型上添加验证即可
class ChangePassword < BaseModel
validates_confirmation_of :password
这会自动激活JavaScript在客户端进行检查,但问题是,当用户输入密码时,在输入确认密码之前,它会启动"新密码与确认不匹配"。
我需要改变这种行为,这样,如果确认密码为空,它就不会在JavaScript端显示这种情况,但如果用户点击"发送表单"按钮,就会不断出现这种错误。
这在Rails中可能吗?
感谢
您可以通过条件验证技术来实现这一点。
class ChangePassword < BaseModel
validates_confirmation_of :password, :if => :password_present?
private
def password_present?
password.present?
end
end