[Request processing failed; nested exception is javax.validation.UnexpectedTypeException: HV000030: No validator could be found for constraint 'javax.validation.constraints.NotEmpty' validating type 'java.lang.Integer'. Check configuration for 'boardSeq']을(를) 발생시켰습니다.
javax.validation.UnexpectedTypeException: HV000030: No validator could be found for constraint 'javax.validation.constraints.NotEmpty' validating type 'java.lang.Integer'. Check configuration for 'boardSeq'
at org.hibernate.validator.internal.engine.constraintvalidation.ConstraintTree.getExceptionForNullValidator(ConstraintTree.java:116)
at org.hibernate.validator.internal.engine.constraintvalidation.ConstraintTree.getInitializedConstraintValidator(ConstraintTree.java:162)
Controller에서 특정 DTO에 Bean Validation을 적용하려할 때 발생한 에러
@PostMapping("/{boardTypeSeq}/{boardSeq}/modifyPage.do")
public String modifyPage(@Validated BoardModifyDto boardModifyDto, BindingResult error,
@PathVariable("boardTypeSeq") int boardTypeSeq, ....) {
...
}
@Data
@NoArgsConstructor
public class BoardModifyDto {
//제목, 내용, 파일
@NotEmpty
private int boardSeq;
@NotEmpty
private String title;
@NotEmpty
private String content;
@NotEmpty
private int boardTypeSeq;
private int updateMemberSeq;
...
}
각 애노테이션마다 지원하는 타입이 다르므로 잘 살펴보고 써야한다.
/**
* The annotated element must not be {@code null} nor empty.
* <p>
* Supported types are:
* <ul>
* <li>{@code CharSequence} (length of character sequence is evaluated)</li>
* <li>{@code Collection} (collection size is evaluated)</li>
* <li>{@code Map} (map size is evaluated)</li>
* <li>Array (array length is evaluated)</li>
* </ul>