ユーザー モデルのアクション :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
ユーザーのパスワードを検証しません.....