자바 빈 valication 검증 실현 방법 예시
5226 단어 JavaBeanvalication검증 하 다.
실제 프로젝트 에서 자바 빈 을 조작 할 때 만 날 수 있 습 니 다.예 를 들 어 우 리 는 배경 관 리 를 하고 특정한 사용자 정 보 를 추가 하 며 특정한 제품 을 추가 합 니 다.매개 변 수 를 검증 해 야 합 니 다.수요 에 부합 되 는 지 확인 해 야 합 니 다.백 엔 드 는 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 비트 가 가장 많 습 니 다.
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 에서 각종 검증 을 하고 모든 것 이 검증 에 성공 한 후에 야 아래로 내 려 갈 수 있 습 니 다.자바 알고리즘 과 관련 된 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있 습 니 다.
본 고 에서 말 한 것 이 여러분 의 자바 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
javaBean의 대상 xml, json 호환시스템과 시스템의 상호작용 사이에 우리가 전송할 때 모두 하나의 텍스트 형식으로 데이터 정보를 전달한다. 다음에 자바빈을 어떻게 json으로 전환하는지 설명하자. json을 자바빈으로 전환하는지 설명한다. 먼저 js...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.