0

ユーザー モデルのアクション :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

ユーザーのパスワードを検証しません.....

4

0 に答える 0