validation : 칼럼별로 유효성 검사를 할수 있다.
@NotBlank
private String username;
@NotBlank
private String password;
@Pattern(regexp = "^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,6}$", message = "이메일 형식이 올바르지 않습니다.")
@NotBlank
private String email;
private boolean admin = false;
private String adminToken = "";
private String username;
@NotBlank
private String password;
@Pattern(regexp = "^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,6}$", message = "이메일 형식이 올바르지 않습니다.")
@NotBlank
private String email;
private boolean admin = false;
private String adminToken = "";
@NotBlank :빈 문자열 공백은 허용하나 null은 허용하지 않는다.
@Email : 이메일 형식만 허용한다.
@Pattern : 정규식 검사할 때 사용
@PostMapping("/user/signup")
public String signup(@Valid SignupRequestDto requestDto, BindingResult bindingResult) {
// Validation 예외처리
List<FieldError> fieldErrors = bindingResult.getFieldErrors();
if(fieldErrors.size() > 0) {
for (FieldError fieldError : bindingResult.getFieldErrors()) {
log.error(fieldError.getField() + " 필드 : " + fieldError.getDefaultMessage());
}
return "redirect:/api/user/signup";
}
userService.signup(requestDto);
return "redirect:/api/user/login-page";
}
public String signup(@Valid SignupRequestDto requestDto, BindingResult bindingResult) {
// Validation 예외처리
List<FieldError> fieldErrors = bindingResult.getFieldErrors();
if(fieldErrors.size() > 0) {
for (FieldError fieldError : bindingResult.getFieldErrors()) {
log.error(fieldError.getField() + " 필드 : " + fieldError.getDefaultMessage());
}
return "redirect:/api/user/signup";
}
userService.signup(requestDto);
return "redirect:/api/user/login-page";
}
매개변수에 @Valid를 해야 검증이 적용된다.
'TIL' 카테고리의 다른 글
(2024-05-30) 스프링개인과제 댓글기능 (0) | 2024.05.31 |
---|---|
(2024-05-29) 스프링 개인과제 (0) | 2024.05.30 |
(2024-05-27) 필터,spring security (0) | 2024.05.28 |
(2024-05-24) Bean수동 등록,같은 타입 Bean,인증 인가 (0) | 2024.05.27 |
(2024-05-20) Junit,Mockito (0) | 2024.05.20 |