1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

新規登録画面実装③エラー解消:デバイスのエラーメッセージが出ない

Last updated at Posted at 2021-08-07

はじめに

新規登録画面に、別モデルのdepartmentの選択を追加したところ、
deviseのエラーメッセージが出なくなってしまいました:frowning2:
その実装は②でやっています。

パスワードを空で送ると、、
NoMethodErrorが出てくる。あーーーーーー!

スクリーンショット 2021-08-07 11.05.41.png
スクリーンショット 2021-08-07 11.05.24.png

required: true 入れれば問題解決じゃないの!?

required: trueとは、、、

スクリーンショット 2021-08-07 11.12.01.png

<div class="form-group">
    <%= f.label :name,"お名前" %><br />
    <%= f.text_field :name, autofocus: true,required: true,class:"form-control" %>
  </div>

あのエラーは出なくなった!

そもそも、未入力のものは受け付けないので、エラーメッセージすら出ません。 未入力ならあらかじめ「このフィールドを入力してください」と出ます。

クサイものに蓋をしている ような違和感

確かにエラーは出ないし、使う分には何の問題もなさそうなんだけど、、、 これで良いのか....??

結論

良くない!:fist: 以下のページで同じような質問がされています。

そもそも、required: trueは入力必須なので、「一文字」でも進んでしまいます。
パスワードを6文字以上というバリデーションかけてた場合には
ちゃんとエラーメッセージ出るようにしてあげないと、いけません。

エラー解消

以下のように修正したところエラーは解消されました。

<div class="form-group">
    <%= f.label:"所属先" %><br />
    <%= f.collection_select(:department_id, Department.all, :id, :name, class: "form-control") %>
  </div>
1
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?