1
我正在寻找一种好方法或框架,可以帮助我验证对象的属性。我从另一个库中获取对象,因此无法更改对象本身的任何内容。如何验证对象的不同属性?
我知道Hibernate的这些注释,如@NotNull,@Size等。但是因为我无法更改对象源代码,所以无法使用它。
class Person {
String firstname;
String lastname;
String gender;
int age;
}
现在我想应用不同的验证器并返回每个属性的自定义错误消息。我想验证:
- 每个字段不为空,不为空
- 性别是男性或女性
- 年龄> 0
- 名字是最多25个字符
- 姓氏是最多25个字符
我将如何应用这种验证?为每个验证写入无尽的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
或者我能做得更好吗?