Spring Boot上で、下記のようなコードでバリデーションチェックをかけたとき、
4つ全ての項目でエラーが一つずつ表示されるようにしたいのですが、テストの組み合わせによっては、例のように表示されてしまいます。
例)
item1で@OriginalValidatorのエラー、item2で@NotBlankのエラー、item3で@Sizeのエラー、item4で@Patternのエラー
を期待していたのにも関わらず、item2で@NotBlankのエラーしか表示されない
どのように対処したらよいのでしょうか。
lang
1@Data 2public class Form { 3 @NotBlank(message = "item1のNotBlankエラー", groups = {ValidationGroup1.class}) 4 @OriginalValidator(message = "item1のOriginalValidatorエラー", groups = {ValidationGroup2.class}) 5 private String item1; 6 @NotBlank(message = "item2のNotBlankエラー", groups = {ValidationGroup1.class}) 7 @Size(min = 1, max=20, message = "item2のSizeエラー", groups = {ValidationGroup2.class}) 8 private String item2; 9 @NotNull(message = "item3のNotNullエラー", groups = {ValidationGroup1.class}) 10 @Size(min = 1, max=20, message = "item3のSizeエラー", groups = {ValidationGroup2.class}) 11 private String item3; 12 @NotNull(message = "item4のNotNullエラー", groups = {ValidationGroup1.class}) 13 @Pattern(regexp = "**********", message = "item4のPatternエラー",groups = {ValidationGroup2.class}) 14 private String item4; 15}
lang
1@GroupSequence({ValidationGroup1.class,ValidationGroup2.class}) 2public @interface ValidationGroupAll { 3}
lang
1@RequestMapping(value = "/", method = RequestMethod.POST) 2public ModelAndView subscribe(@ModelAttribute("form") @Validated(ValidationGroupAll.class) Form form, BindingResult result) { 3 //処理ロジック 4}

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/02/19 18:32