자바 빈 valication 검증 실현 방법 예시

본 논문 의 사례 는 자바 빈 vaication 검증 실현 방법 을 서술 하 였 다.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다.
실제 프로젝트 에서 자바 빈 을 조작 할 때 만 날 수 있 습 니 다.예 를 들 어 우 리 는 배경 관 리 를 하고 특정한 사용자 정 보 를 추가 하 며 특정한 제품 을 추가 합 니 다.매개 변 수 를 검증 해 야 합 니 다.수요 에 부합 되 는 지 확인 해 야 합 니 다.백 엔 드 는 vaication 을 사용 하여 매개 변 수 를 검증 할 수 있 습 니 다.코드 에서 검증 하지 않 아 도 코드 가 매우 지루 합 니 다.
주석 검사:
valication 은 많은 검사 주 해 를 제공 합 니 다.구체 적 인 매개 변 수 는 원본 코드 를 볼 수 있 습 니 다.주로 message 매개 변수 입 니 다.검사 가 맞지 않 을 때 사용자 정의 에 맞지 않 는 정 보 를 되 돌려 줍 니 다.
주해 형식
속성 값 형식
사용 설명
@AssertFalse
Boolean、boolean
주 해 된 속성 값 은 false 입 니 다.
@AssertTrue
Boolean、boolean
주 해 된 속성 값 은 true 입 니 다.
@DecimalMax(value)
BigDecimal,BigInteger,String,byte,short,int,long 및 대응 하 는 유형의 패키지 클래스
주 해 된 속성 값 은 숫자 여야 하 며,그 값 은 지정 한 최대 값 보다 작 거나 같 아야 합 니 다.주:매개 변수 값 은 BigDecimal 로 정확하게 전환 할 수 있 는 문자열 이 어야 합 니 다.즉,new BigDecimal(String str)을 사용 합 니 다.
@DecimalMin(value)
BigDecimal,BigInteger,String,byte,short,int,long 및 대응 하 는 유형의 패키지 클래스
주 해 된 속성 값 은 숫자 여야 하 며,그 값 은 지정 한 최소 값 보다 크 거나 같 아야 합 니 다.주:매개 변수 값 은 BigDecimal 로 정확하게 전환 할 수 있 는 문자열 이 어야 합 니 다.즉,new BigDecimal(String str)을 사용 합 니 다.
@Max
BigDecimal,BigInteger,byte,short,int,long 및 대응 하 는 유형의 패키지 류
주 해 된 속성 값 은 지정 한 최대 값 보다 작 거나 같 아야 합 니 다.
@Min
BigDecimal,BigInteger,byte,short,int,long 및 대응 하 는 유형의 패키지 류
주 해 된 속성 값 은 지정 한 최소 값 보다 크 거나 같 아야 합 니 다.
@Digits(integer=,fraction=)
BigDecimal,BigInteger,String,byte,short,int,long 및 대응 하 는 유형의 패키지 클래스
주 해 된 속성 값 은 반드시 숫자 이 고 정수 비트 는 integer 비트 가 가장 많 으 며 작은 숫자 는 fraction 비트 가 가장 많 습 니 다.
@Email
String
주 해 된 속성 값 은 Email 주소 입 니 다.
@Negative
 
주 해 된 속성 값 은 마이너스 여야 합 니 다.
@NegativeOrZero
 
주 해 된 속성 값 은 음수 나 0 이 어야 합 니 다.
@Positive
 
주 해 된 속성 값 은 양수 여야 합 니 다.
@PositiveOrZero
 
주 해 된 속성 값 은 양수 나 0 이 어야 합 니 다.
@NotBlank
String
주 해 된 속성 값 이 null 이 아 닌 지,빈 칸 을 제거 한 후의 length 는 0 보다 큽 니 다.@NotEmpty 와 의 차이 점 은@NotBlank 는 문자열 만 주석 을 달 수 있 고 끝 빈 칸 을 무시 합 니 다.
@NotEmpty
String、Collection、Map、arrays
주 해 된 속성 값 이 비 null 또는 빈 집합 인지 여부 입 니 다.
@NotNull
임의의 형식
주 해 된 속성 값 이 null 이 아 닌 지 여부 입 니 다.
@Null
임의의 형식
주 해 된 속성 값 이 null 인지 여부 입 니 다.
@Future
java.util.Date,
java.util.Calendar;
주 해 된 속성 값 은 미래의 날짜 여야 합 니 다.
@FutureOrPresent
java.util.Date,
java.util.Calendar;
주 해 된 속성 값 은 현재 또는 미래의 날짜 여야 합 니 다.
@PastOrPresent
java.util.Date,
java.util.Calendar;
주 해 된 속성 값 은 현재 또는 과거의 날짜 여야 합 니 다.
@Past
java.util.Date,
java.util.Calendar;
주 해 된 속성 값 은 과거의 날짜 여야 합 니 다.
@Size(min=, max=)
String、Collection、Map、arrays
주 해 를 검증 하 는 요소 값 은 min 과 max(포함)지정 구간 에 있 습 니 다.예 를 들 어 문자 길이,집합 크기 등 입 니 다.
주:
1  @NotEmpty:null 일 수 없고 Size>0
2  @NotNull:null 일 수 는 없 지만 empty 일 수 있 습 니 다.Size 의 제약 이 없습니다.
3  @NotBlank:String 에 만 사용 되 며,null 및 trim()이후 size>0 일 수 없습니다.
다음은 postman 에서 사용자 의 정 보 를 추가 하 는 시 뮬 레이 션 을 합 니 다.
1.사용자 Bean 을 만 들 고 해당 하 는 인증 을 주석 합 니 다.

public class UserBean {
  //     
  @NotEmpty(message = "       ")
  private String userName;
  //      
  @NotEmpty (message = "        ")
  @Pattern(regexp = "^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\\d{8}$",message = "       ")
  private String mobile;
  //      
  @NotNull(message = "      ")
  @Min(message = "     !",value = 18)
  private Integer age;
  //         ,         ,     regexp  
  @Email(message = "email    ")
  private String email;
 
  public String getUserName() {
    return userName;
  }
 
  public void setUserName(String userName) {
    this.userName = userName;
  }
 
  public String getMobile() {
    return mobile;
  }
 
  public void setMobile(String mobile) {
    this.mobile = mobile;
  }
 
  public Integer getAge() {
    return age;
  }
 
  public void setAge(Integer age) {
    this.age = age;
  }
 
  public String getEmail() {
    return email;
  }
 
  public void setEmail(String email) {
    this.email = email;
  }
}

2.contrller 층 에서 전단 에서 전 달 된 데이터 와 자신 이 쓴 검증 이 정확 한 지,@Valid 를 사용 하여 대상 을 검사 합 니 다.

@RestController
public class ValidationController {
 
  @PostMapping("addUserMessage")
  public String addUserMessage(@Valid @RequestBody UserBean userBean,BindingResult bindingResult){
    //        ,  message       
    if(bindingResult.hasErrors()){
      return bindingResult.getFieldError().getDefaultMessage();
    }
    //        ,             
    return "    ";
  }
}

3.postman 에서 각종 검증 을 하고 모든 것 이 검증 에 성공 한 후에 야 아래로 내 려 갈 수 있 습 니 다.

자바 알고리즘 과 관련 된 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있 습 니 다.
본 고 에서 말 한 것 이 여러분 의 자바 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기