プログラミング Java

【Spring】バリデーション時に、入力値を保持する方法

投稿日:

登録画面で「登録」ボタンを押した後、
バリデーションで引っ掛かってエラーになっても
入力内容を画面に保持して置く方法
についてです。

テンプレートエンジンは、Tymeleafを使用しています。
方法としては、「th:field」を使って入力したフォームのフィールド名を指定するだけです。

コード

①入力するフォームクラスを、th:object で指定し、
ユーザID(Email)の入力ボックスに、th:field でフィールド名を指定します。

 
②登録時にエラーだった場合、formとmodelを登録画面に戻すようにします。

 

実装後の動作

ユーザID以外の項目がバリデーションエラーになったため登録画面に戻されますが、
ユーザIDに入力した値は保持されています。

 
最後までお読み頂き、ありがとうございました!
ご意見・ご要望がありましたら、遠慮なくコメント下さい!
もし内容が良かったらランキング評価を頂けると励みになります(^^)

ランキング評価する

-プログラミング, Java
-,

執筆者:


  1. AO より:

    参考にさせていただいておりますが、質問があります。
    1.inputタグに th:fieldを指定すると500エラーになってしまいます。
    th:objectの名前で作ったFormの項目と合っているのですが、なぜなのでしょう。
    2.画面でDBから取得したプルダウンのリストがあるのですが、この方法でこのリストの保持もできるのでしょうか。
    よろしくお願いいたします。

    • ログログ より:

      AOさん
      コメントありがとうございます。

      >1.inputタグに th:fieldを指定すると500エラーになってしまいます。
      エラーメッセージがわからないので何ともいえませんが、そのフィールドにGetterはついていますでしょうか?
      getUserId()のようなメソッドです。
      th:fieldはGetterを呼び出しているので、そのメソッドが無いとフィールドにアクセスできなくてエラーになることがあります。

      >2.画面でDBから取得したプルダウンのリストがあるのですが、この方法でこのリストの保持もできるのでしょうか。
      私は試したことはないですが、調べたところ参考になる記事があったのでご紹介いたします。
      https://ja.getdocs.org/thymeleaf-select-option/

  2. AO より:

    ご紹介いただいた方法で動きました。有難うございます。
    500エラーはController側でmodelにFormの属性を追加することで解決しました。
    アドバイス有難うございました。
    あとはバリデーション時にプルダウン選択リストを保持できるかどうかですが、
    なにか参考となるものがございましたらご紹介いただければ幸いです。
    よろしくお願いいたします。

    • ログログ より:

      >2.画面でDBから取得したプルダウンのリストがあるのですが、この方法でこのリストの保持もできるのでしょうか。
      私は試したことはないですが、調べたところ参考になる記事があったのでご紹介いたします。
      https://ja.getdocs.org/thymeleaf-select-option/

ログログ へ返信する コメントをキャンセル

メールアドレスが公開されることはありません。

CAPTCHA


関連記事

オブジェクト指向がわかるようになるためにする3つのこと

オブジェクト指向がいまいちわからない人向けに、 オブジェクト指向でプログラミングできるようになるまでのステップを以下にまとめました。   Javaでプログラミングする Javaはオブジェクト …

junit, テスト, junit5

【Junit5】表示名のカスタマイズ(@DisplayName)

概要 Junit5で表示名をカスタマイズする方法です。 Junit4については以下を参考にしてください。  ↓ https://irof.hateblo.jp/entry/20130124/p1 でき …

オブジェクト指向とは何なのかを簡単に説明してみる

オブジェクト指向とは何なのか? これを私の理解を元に、ごくごく簡単に説明してみたいと思います。   オブジェクト指向とは? オブジェクト指向とは何かを説明するために、 「オブジェクト」と「指 …

【Bootstrap】ログイン画面をデザインしよう!

概要 【SpringSecurity】#3~ 独自のログイン画面でシンプルな独自のログイン画面を実装しました。 これに、Bootstrapでデザインを施していきます。 Bootstrapのサンプルを基 …

【Java入門】例外処理の基本的な操作まとめ

概要 例外処理の基本的な知識と操作について記載しています。 例外処理の構文 try~catch~finally ◆基本構文

・fina …

SpringFramworkの良書

■おすすめ教材
Javaの基本を学んだ人が、次のステップとして読む本(中級者向け)

※SpringはJavaのFrameworkの1つです。
変更のしやすさ、保守性の高さが特徴です。