평소 Validation을 할때 Bean Validation에서 제공하는 표준 Validation 이나
AOP를 사용하여 커스텀 Validation을 구현하였습니다.
하지만 회사에서는 Jsp를 사용해 <form:errors> 태그로 Validation을 사용하였습니다.
BindingResult를 사용해 error를 등록해주면 Jsp의 태크를 통해 받아올 수 있습니다.
HTML 코드
input 태그 아래 errors 태그가 있는것을 확인할 수 있습니다.
해당 폼의 유효성 검사를 하고 오류 발생시 오류 메시지를 HTML의 <span> 태그로 출력하게 됩니다.
<div class="ibox-content">
<div class="col">
<div class="form-group">
<form:input path="username" class="form-control" placeholder="Username" required="" />
<form:errors path="username" cssClass="errormsg" />
</div>
<div class="form-group">
<form:input path="password" type="password" class="form-control" placeholder="Password" required="" />
<form:errors path="password" cssClass="errormsg" />
</div>
<div class="form-group">
<form:input path="passwordConfirm" type="password" class="form-control" placeholder="PasswordConfirm" required="" />
<form:errors path="passwordConfirm" cssClass="errormsg" />
</div>
</div>
</div>
Validation 검증
Validation은 Back단에서 할 수 있습니다.
@Override
protected void validateEdit(User entity, BindingResult errors) {
Optional<User> findUser = service.findByUsername(entity.getUsername());
if (findUser.isPresent()) {
errors.rejectValue("username", null, ErrorsConst.USERNAME_EXIST);
}
}

느낀점
다양한 Validation 방법이 있는것 같습니다.
Validation마다 장단점을 정리해봐야할 것 같습니다.
'Spring' 카테고리의 다른 글
웹페이지에서 alert 창이 안뜨는 경우 (Chrome 미리로드 기능) (1) | 2024.01.03 |
---|---|
[Spring] Interceptor를 사용해 Security를 구현해보자 (Filter vs Interceptor) (0) | 2023.12.29 |
[스프링의 삼각형] AOP - 횡단괌심 (0) | 2023.10.11 |
IoC 와 DI 그리고 Bean (1) | 2023.10.11 |
싱글톤 패턴 (0) | 2023.09.22 |
평소 Validation을 할때 Bean Validation에서 제공하는 표준 Validation 이나
AOP를 사용하여 커스텀 Validation을 구현하였습니다.
하지만 회사에서는 Jsp를 사용해 <form:errors> 태그로 Validation을 사용하였습니다.
BindingResult를 사용해 error를 등록해주면 Jsp의 태크를 통해 받아올 수 있습니다.
HTML 코드
input 태그 아래 errors 태그가 있는것을 확인할 수 있습니다.
해당 폼의 유효성 검사를 하고 오류 발생시 오류 메시지를 HTML의 <span> 태그로 출력하게 됩니다.
<div class="ibox-content">
<div class="col">
<div class="form-group">
<form:input path="username" class="form-control" placeholder="Username" required="" />
<form:errors path="username" cssClass="errormsg" />
</div>
<div class="form-group">
<form:input path="password" type="password" class="form-control" placeholder="Password" required="" />
<form:errors path="password" cssClass="errormsg" />
</div>
<div class="form-group">
<form:input path="passwordConfirm" type="password" class="form-control" placeholder="PasswordConfirm" required="" />
<form:errors path="passwordConfirm" cssClass="errormsg" />
</div>
</div>
</div>
Validation 검증
Validation은 Back단에서 할 수 있습니다.
@Override
protected void validateEdit(User entity, BindingResult errors) {
Optional<User> findUser = service.findByUsername(entity.getUsername());
if (findUser.isPresent()) {
errors.rejectValue("username", null, ErrorsConst.USERNAME_EXIST);
}
}

느낀점
다양한 Validation 방법이 있는것 같습니다.
Validation마다 장단점을 정리해봐야할 것 같습니다.
'Spring' 카테고리의 다른 글
웹페이지에서 alert 창이 안뜨는 경우 (Chrome 미리로드 기능) (1) | 2024.01.03 |
---|---|
[Spring] Interceptor를 사용해 Security를 구현해보자 (Filter vs Interceptor) (0) | 2023.12.29 |
[스프링의 삼각형] AOP - 횡단괌심 (0) | 2023.10.11 |
IoC 와 DI 그리고 Bean (1) | 2023.10.11 |
싱글톤 패턴 (0) | 2023.09.22 |