teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

追記

2020/01/11 11:39

投稿

soft_admin
soft_admin

スコア63

title CHANGED
File without changes
body CHANGED
@@ -9,4 +9,21 @@
9
9
  パスワードが入力されていないとのバリデーションがかかります。
10
10
  この更新処理はパスワードを入力しないので、パスワードのバリデーションを回避したいです。
11
11
  この件にかかわらず、特定のカラムのみのバリデーションを回避するにはどうすればいいでしょうか?
12
- 具体的なソースがなくて申し訳ないですがよろしくお願いします。
12
+ ~~具体的なソースがなくて申し訳ないですがよろしくお願いします。~~
13
+ ソースです。(一部省略)
14
+ ```ruby
15
+ class User < ApplicationRecord
16
+ has_secure_password
17
+
18
+ validate :check_password
19
+
20
+ def check_password
21
+ if password.blank? || \
22
+ password.length > 50 || \
23
+ password.length < 8 || \
24
+ password !~ /\A(?=.*?[a-z])(?=.*?\d)[a-z\d]{8,50}+\z/i
25
+ errors.delete(:password)
26
+ errors.add(:password, I18n.t("validations.password.format"))
27
+ end
28
+ end
29
+ ```