유효성 검사
사용자 입력에 대해 유효성을 검사해야 하는 경우가 있다.
JavaScript도 가능하지만 Spring MVC로 처리할 수도 있다.
JSR-303
Spring MVC는 JSR-303 규격의 유효성 검사 라이브러리를 사용할 수 있다.
Bean에 데이터가 입력될 때 어떤 검사를 할 지 어노테이션으로 지정하고, 조건에 맞지 않다면 개발자에게 오류가 있다는 정보를 전달한다. 이를통해 유효성 검사를 할 수 있다.
JSR-303을 사용하기 위해선 라이브러리를 추가해야한다. pom.xml에 라이브러리를 추가하자.
Bean에 어노테이션 설정
다양한 어노테이션으로 유효성 조건을 걸 수 있다.
@Size(min=2,max=10)
private String data1;
@Max(100)
private int data2;
이런식으로 Bean객체의 멤버변수 위에 원하는 조건을 걸 수 있다. 하지만 이 조건을 건다고 유효성 검사를 하게되는 건 아니다.
Controller의 메서드에서 주입받는 Bean에 @Valid 어노테이션을 걸어야 유효성 검사를 실시하고
BindingResult 객체를 주입받아야 검사 결과를 얻을 수 있다.
public String input_pro(@Valid DataBean1 dataBean1, BindingResult result) {
이런식으로 설정한다.
jsp에서 에러메세지를 확인하려면 아래 방식으로 한다.
<spring:hasBindErrors name="dataBean1">
<c:if test="${errors.hasFieldErrors('data2') }">
${errors.getFieldError('data2').defaultMessage }<br>
</c:if>
</spring:hasBindErrors>
'프로그래밍 > Spring' 카테고리의 다른 글
[Spring] JSR-303 오류들 (0) | 2020.04.03 |
---|---|
[Spring] 에러 메세지 커스터마이징 (0) | 2020.04.03 |
[Spring] Message (0) | 2020.04.02 |
[Spring] Properties (0) | 2020.04.02 |
[Spring] Cookie (0) | 2020.04.02 |