我只需要在我的用户模型的操作 :update 上添加自定义验证。用户仅使用电子邮件创建,因此在他们更新密码时设置。我想在更新密码时添加验证。
validate :custom_validation, on: :update
#storing password
def password=(password_str)
@password = password_str
self.password_salt = BCrypt::Engine.generate_salt
self.password_digest = BCrypt::Engine.hash_secret(password_str, password_salt)
end
def custom_validation
if !(self.password.present? || self.password_confirmation.present?)
errors.add(:password, 'password and password_confirmation can\'t be blank')
end
if self.password.present? && self.password.length < 6
errors.add(:password, 'password length should be greater than 6')
end
end 不验证我的用户密码.....