我正在寻找一种帮助我验证对象属性的好方法或框架。我从另一个库中获取对象,因此无法更改对象本身的任何内容。
我知道来自Hibernate的这些注释,如@NotNull,@ Size等。但由于我无法更改对象源代码,我无法使用它。
class Person {
String firstname;
String lastname;
String gender;
int age;
}
现在我想应用不同的验证器并为每个属性返回自定义错误消息。我想验证一下:
我如何应用此类验证?为每个验证编写无限的if子句并在其中返回错误消息?
if (age < 0) {
throw CustomError("Age must be > 0");
}
if (gender != GENDER.MALE || gender != GENDER.FEMALE) {
throw CustomError("Gender must be either male or female");
}
//etc
或者我可以做得更好吗?
答案 0 :(得分:1)
有许多验证框架可能很有用 - 我在几年前创建了this one,在NetBeans和其他一些公共项目中使用。
还有Java EE 6的Bean Validation用于验证整个对象。