前提
Java11,Spring Boot ,MyBatis ,MySQL,Thymeleaf
コントローラークラスにあるindexメソッドにて
htmlのinputから受け取った値をバリデーションをかけて分岐する処理を書いています。
実現したいこと
inputの値が空白またはNullの時、エラー処理へ、正常な時な正常処理を行いたい。
Formの値がNullになるのでinputで受け取った値をFormに格納したい。
発生している問題・エラーメッセージ
Form Formの値がNullになり、バリデーションによって全てエラーとして返されてしまう。※①System.out.println(Form)のFormの値がNull。 下記コントローラーのエラーの中にある※②のFormの値はinputの値が入ってきている。
該当のソースコード
public String index(@RequestParam("input") String input, @Validated Form Form,BindingResult result ,Model model) { ※①System.out.println(Form); Form.inputName = input; if (result.hasErrors()) { //エラーの場合の処理 ※②System.out.println(Form); } else { //正常時の処理 } }
Form
1@Data 2public class Form { 3 4 @NotBlank(message = "名前を入力してください") 5 public String inputName; 6} 7
試したこと
Form.inputName = input;の位置を変えてみたり、Formの値の確認。
@NotBlankを別のアノテーション(@NotEmptyなど)に変更。※結果は変わらず。
補足情報(FW/ツールのバージョンなど)
回答1件
あなたの回答
tips
プレビュー