0
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 1 year has passed since last update.

Spring バリデーション Binding result

Posted at
1 / 2

☆やりたいこと
登録画面で必須入力のバリデーションを実装したかった

コントローラークラスの引数に、Binding resultを書く。
Binding result とは、
フォームのデータ検証結果を保持するオブジェクトのこと。

// メッセージのリストを作成して、エラーや確認メッセージを格納する準備をする
List messageList = new ArrayList<>();

// フォームから受け取ったデータを使って、同じかどうかをチェックするメソッドを呼び出し、その結果をメッセージリストに追加する
messageList.add(checkIfSame(request.getFirstAprv1(), request.getFirstAprv2(), request.getFirstAprv3()));

// メッセージリスト内の全てのメッセージが「null(何もない)」かどうかを調べる
boolean allNull = messageList.stream().allMatch(Objects::isNull);

// バリデーションエラーがあるか、またはメッセージリストに何かメッセージが入っている場合
if (result.hasErrors() || !allNull) {
// リクエストオブジェクトにメッセージリストをセットして、エラーがある場合はフォームページに戻る
request.setMessageList(messageList);
return "approver-setting";
}

BindingResultは、プログラムでフォームから入力されるデータ(例えば、ユーザー名やメールアドレスなど)を受け取る際に、そのデータの正しさやエラーをチェックするための道具です。ゲームのスコア用紙のように、入力されたデータが正しいかどうかを確認し、もし間違いがあればそれを教えてくれる役割があります。

具体的には、BindingResultはフォームから送信されたデータを受け取り、それが期待通りの形式や範囲になっているかを確認します。もし問題があれば、その情報をプログラムに伝え、適切な対処ができるようにします。例えば、メールアドレスが正しい形式で入力されているか、必須項目が埋められているかなどをチェックするのに使われます。

簡単に言うと、BindingResultはプログラムが受け取ったデータが正しいかどうかをチェックする、データの検査係のようなものです。間違いや問題があればそれを教えてくれ、プログラムがスムーズに動くように手助けしてくれる大切な部品です。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?