【发布时间】:2012-03-14 16:51:55
【问题描述】:
这里我有一个我能想象到的最基本的 spring 验证器的示例 :-)。因为它是一个桌面应用程序,所以我没有运行容器,它应该在某些时候调用 validate。
是否有任何实用程序可以像 spring 容器一样调用 validate 方法?或者调用 validate 就足够了?在这种情况下,我必须通过验证的Errors 对象的具体实现是什么?
这是一个例子(主要是装饰性的):
首先我有一个 Person 类,具有 Stirng firstName 属性和 String secondName 属性:
public static class Person {
public static final String PROP_FIRSTNAME = "firstName";
String firstName;
public static final String PROP_SECONDNAME = "secondName";
String secondName;
public String getFirstName() {return firstName;}
public void setFirstName(String firstName) {this.firstName = firstName;}
public String getSecondName() {return secondName;}
public void setSecondName(String secondName) {this.secondName = secondName;}
}
然后我有一个 PersonValidator 来简单地检查 Person 是否有一个非空的 firstName:
public static class PersonValidator implements Validator {
public boolean supports(Class<?> clazz) {
return Person.class.isAssignableFrom(clazz);
}
public void validate(Object target, Errors errors) {
ValidationUtils.rejectIfEmpty(errors, Person.PROP_FIRSTNAME , "First name must be ");
}
}
好的,现在的问题是:如何使用它?
public static void main(String [] args) {
Person p = new Person();
PersonValidator v = new PersonValidator();
//HOW TO PERFORM VALIDATION?
//v.validate(p, null)
}
【问题讨论】:
标签: java spring validation javabeans