728x90

에러 메시지 커스터마이징

유효성 검사에서 오류가 있는 메시지는 jsp에서 출력할 수 있었지만, JSR-303에서 정의한 메시지를 그대로 출력하는 것이며 우리가 설정할 순 없었다.

JSR-303Hibernate에서 제공하는 어노테이션 중 일부는 설정 가능하고 일부는 아니다.

 

Properties를 이용한 메시지 설정

유효성 검사를 통과하지 못하면 JSP에 오류 정보가 전달된다.

이때 codes[0]으로 값을 가져오면 문자열을 가져올 수 있었다.

           -> 에러종류.빈이름.프로퍼티이름

properties에 위의 양식으로 메시지를 등록해주면 이 메시지를 가져와 출력하고 다국어 처리까지 가능하다.

 

Form 데이터 유지하기

유효성 검증을 통과하지 못해 다시 입력을 해야하는 경우 기존의 입력값을 유지해야 하는 경우가 있다.

이때 입력 화면으로 전달된 Bean 객체에서 input 태그에 값을 주입하면 된다.

Form 커스텀 태그를 활용하는 방식이 가장 간단하고 보기 좋다. -> 검증 실패 문자열도 쉽게 세팅가능하다.

 

<spring:hasBindErrors name="dataBean1">

   <c:if test="${errors.hasFieldErrors('data1') }">  

       <spring:message code="${errors.getFieldError('data1').codes[0] }"/><br>

   </c:if>

</spring:hasBindErrors>

이렇게 쓰던 걸

    <form:errors path='data1' /><br>

이렇게 줄일 수 있다.

 

728x90

'프로그래밍 > Spring' 카테고리의 다른 글

[Spring] JSR-380 오류들  (0) 2020.04.03
[Spring] JSR-303 오류들  (0) 2020.04.03
[Spring] 유효성 검사  (0) 2020.04.03
[Spring] Message  (0) 2020.04.02
[Spring] Properties  (0) 2020.04.02

+ Recent posts