Spring validator
boolean supports(Class> clazz);제 공 된 클래스 에 대해 void validate (Object target, Errors errors) 를 검증 하 는 것 을 지원 하 는 지 여부;구체 적 으로 검 증 된 과정 과 규칙.
하나.Photo
package com.spring;
/**
* Created by IntelliJ IDEA.
* User: Zhong Gang
* Date: 11-9-6
* Time: 10:01
*/
public class Photo {
private String name;
private String path;
private String description;
public Photo(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPath() {
return path;
}
public void setPath(String path) {
this.path = path;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
}
둘.PhotoValidator Validator 인터페이스 구현
package com.dream.validator;
import com.dream.model.photo.Photo;
import org.springframework.validation.*;
/**
* Created by IntelliJ IDEA.
* User: Zhong Gang
* Date: 11-9-6
* Time: 9:39
*/
public class PhotoValidator implements Validator {
@Override
public boolean supports(Class> clazz) {
return Photo.class.equals(clazz);
}
@Override
public void validate(Object target, Errors errors) {
ValidationUtils.rejectIfEmpty(errors, "name", "Empty name of photo");
Photo photo = (Photo) target;
String name = photo.getName();
if (name.length() > 10) {
errors.rejectValue("name", "Too long of name's length");
}
}
}
셋.ValidatorTest
package com.spring;
import com.dream.model.photo.Photo;
import com.dream.validator.PhotoValidator;
import junit.framework.TestCase;
import org.springframework.validation.DirectFieldBindingResult;
import org.springframework.validation.Errors;
import org.springframework.validation.ObjectError;
import org.springframework.validation.Validator;
import java.util.List;
/**
* Created by IntelliJ IDEA.
* User: Zhong Gang
* Date: 11-9-6
* Time: 9:38
*/
public class ValidatorTest extends TestCase {
public void testValidator() throws Exception {
Photo photo = new Photo("This is the name of a photo.");
Validator validator = new PhotoValidator();
Errors errors = new DirectFieldBindingResult(photo, "photo");
boolean isSupport = validator.supports(Photo.class);
validator.validate(photo, errors);
List allErrors = errors.getAllErrors();
assertTrue(isSupport);
assertEquals(1, allErrors.size());
assertEquals("Too long of name's length", allErrors.get(0).getCode());
}
}
Spring 은 도구 류 ValidationUtils 를 제공 합 니 다. 주로 이런 몇 가지 방법 이 있 습 니 다. 1. invokeValidator: Validator 인증 을 실행 합 니 다.2. rejectIfEmpty: 빈 값 검증 을 실행 합 니 다.
3. rejectIfEmpty OrWhitespace: 빈 값 이나 빈 문자열 검증 을 실행 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[MeU] Hashtag 기능 개발➡️ 기존 Tag 테이블에 존재하지 않는 해시태그라면 Tag , tagPostMapping 테이블에 모두 추가 ➡️ 기존에 존재하는 해시태그라면, tagPostMapping 테이블에만 추가 이후에 개발할 태그 기반 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.