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
或者我能做得更好嗎?