ここでは、私が想像できる最も基本的なスプリングバリデータのサンプルがあります:-)。デスクトップアプリケーションであるため、コンテナを実行していないため、特定の時点でvalidateを呼び出すはずです。
springコンテナと同じ方法でvalidateメソッドを呼び出すユーティリティはありますか?またはvalidateを呼び出すだけで十分ですか?この場合、検証するために渡さなければならないErrors
オブジェクトの具体的な実装は何ですか?ここでデスクトップアプリケーションのスプリング検証
は(主に装飾)の例である:
まず私はStirngのfirstNameプロパティと文字列secondNameプロパティで、Personクラスを持っている:
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がnullではない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)
}
は、おそらくあなたがそこに返信することができます:ここで
は、私が何を意味するかを明確にするいくつかのサンプルコードですhttp://stackoverflow.com/questions/9693656/javabeans-validation-デスクトップアプリケーション/ 9695098#comment12334789_9695098 JSR 303について言えば、HibernateまたはSpring 3の実装で利用可能なJava EE仕様です。 – AgostinoXAgostinoX:BeanValidationはJSR 303です.JEEで使用されていますが、standart javaでも使用できます。参照の実装は "Hiberante Validator"です。これはHibernate(ORM)ではありません。つまり、スタンドアロンアプリケーションでperferctを使用することができます。 – Ralph
インキュベータを通過したばかりのApache BVal実装のように見えるので、これも別の方法です。 http://incubator.apache.org/bval/cwiki/2012/02/21/apache-bval-has-graduated-the-incubator.html – ebaxt