0
0

More than 3 years have passed since last update.

validationのカスタマイズ

Posted at

概要

個人アプリを作成していく中で、グループ登録が突如できなくなった事象が発生しました:scream:

原因は、usersモデルに追加したバリデーションでした:persevere:
(原因探るために、また一からアプリ作成し述べ4日間も費やしました。。。。)

備忘録として残します!

エラー状況

グループ登録画面

スクリーンショット 2020-06-08 17.43.29.png
今までできていたグループ登録ができなくなる事象が発生:zap:

ログ

スクリーンショット 2020-06-08 17.44.13.png

ログを見ると、paramsはきちんとデータ取得されているのに、ROLLBACKされています:rolling_eyes:
エラーの内容はinvalid

原因

悪さしているコードは、usersモデルに追記したバリデーションでした:angry:

app/models/user.rb
  validates :password, presence: true, length: {minimum: 8 }

パスワード7文字以下はエラーにする記述です。

恐らく、userモデルに追加したバリデーションによって、group登録時にpasswordデータも取得させる必要性が出てきた??のかな??
もし、わかる方がいれば教えてください:bow_tone1:

解決方法

usersモデルに追加したバリデーションにオプションをつけて解決しました!

app/models/user.rb
  validates :password, presence: true, length: {minimum: 8 },on: :create

user登録時のみにバリデーションが使用される!という意味合いです。

感想

まず、急に登録できなくなり、原因もわからない状況で、一からアプリを作成し直し原因を突き止めた事象です。。。
本当に辛かった:sob:
たった11文字のコードを追加するだけで解決しましたが、ある意味得たものは大きかったと考えています:laughing:

参考

●passwordバリデーションの解決の糸口がわかりました。
https://qiita.com/noriya1217/items/f0e887f3a7b2c7f83722

●バリデーションのオプションについて参考にしました。
https://qiita.com/Shantti-Y/items/19ea23b81f3421063fc5

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0