8
Spring MVC (@Validate)에서 배킹 개체 및 주석이있는 유효성 검사기를 사용했습니다. 잘 돌아갔다.Spring MVC 컨텍스트 외부에서 Spring Validator 사용하기
이제 스프링 매뉴얼과 함께 내 자신의 유효성 검사를 구현하는 방법을 정확하게 이해하려고합니다. 내 유효성 검사기를 "사용하는"방법에 대해서는 확실하지 않습니다.
내 검사기 :
import org.springframework.validation.Errors;
import org.springframework.validation.ValidationUtils;
import org.springframework.validation.Validator;
import com.myartifact.geometry.Shape;
public class ShapeValidator implements Validator {
@SuppressWarnings("rawtypes")
public boolean supports(Class clazz) {
return Shape.class.equals(clazz);
}
public void validate(Object target, Errors errors) {
ValidationUtils.rejectIfEmpty(errors, "x", "x.empty");
ValidationUtils.rejectIfEmpty(errors, "y", "y.empty");
Shape shape = (Shape) target;
if (shape.getX() < 0) {
errors.rejectValue("x", "negativevalue");
} else if (shape.getY() < 0) {
errors.rejectValue("y", "negativevalue");
}
}
}
내가 확인하고자 Shape 클래스 :
public class Shape {
protected int x, y;
public Shape(int x, int y) {
this.x = x;
this.y = y;
}
public Shape() {}
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
}
홈페이지 방법 : 오류 이후
public class ShapeTest {
public static void main(String[] args) {
ShapeValidator sv = new ShapeValidator();
Shape shape = new Shape();
//How do I create an errors object?
sv.validate(shape, errors);
}
}
가, 내가 할 수있는 단지 인터페이스입니다 ' 보통 클래스처럼 인스턴스화합니다. 내 모양이 유효하거나 유효하지 않음을 확인하기 위해 유효성 검사기를 실제로 "어떻게"사용합니까?
참고로,이 모양은 이어야합니다.은 x와 y가 없기 때문에 유효하지 않습니다.
이것은 마치 매력적이었습니다! 문서의 유효성 검사 개념이 처음 나타날 때 어떻게 작동하는지 보여줄 수 있기를 바랍니다 ... – Harry
두 번째 인수 인 Shape.class.getName()이 필요한 이유를 말씀해 주시겠습니까? –