TIL

(2024-05-28) validation

o_coding 2024. 5. 29. 10:45

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 = "";

@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";
}

매개변수에 @Valid를 해야 검증이 적용된다.