728x90

유효성 검사

사용자 입력에 대해 유효성을 검사해야 하는 경우가 있다.

JavaScript도 가능하지만 Spring MVC로 처리할 수도 있다.

 

JSR-303

Spring MVCJSR-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>

728x90

'프로그래밍 > 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

+ Recent posts