今回は、DTOでListを検証する方法についてみていきたいと思います。
@Valid
List型の検証にはValidバリデーションをListに付与し、List<E>のEとして指定したクラウにバリデーションのアノテーションを付与します。
サンプル
@Getter
public class MemberUpdateRequestDto {
@Valid
private List<SkillDto> skills;
}
- skillsフィールドに@validアノテーションを付与します。
@Getter
public class SkillDto {
@NotBlank(message = "{E00002}")
private String name;
@Min(value = 1, message = "{E00003}")
@Max(value = 100, message = "{E00003}")
private int percent;
}
- エレメンタルクラスにはバリデーションアノテーションを付与します。
確認してみましょう

- 上記はControllerAdviceが付与されているハンドラクラスですが、みてみると正常なエラー内容が確認できます。
