gpt4 book ai didi

java - 如何验证对象的不同属性?

转载 作者:太空宇宙 更新时间:2023-11-04 07:19:25 24 4
gpt4 key购买 nike

我正在寻找一种好方法或框架来帮助我验证对象的属性。我从另一个库获取该对象,因此无法更改该对象本身的任何内容。

我知道 Hibernate 中的这些注释,例如 @NotNull、@Size 等。但是由于我无法更改对象源代码,因此我无法使用它。

class Person {
String firstname;
String lastname;
String gender;
int age;
}

现在我想应用不同的 validator 并为每个属性返回自定义错误消息。我想验证一下:

  • 每个字段不为空,不为 null
  • 性别为男性或女性
  • 年龄 > 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

或者我可以做得更好吗?

最佳答案

有许多可能有用的验证框架 - 我创建了 this one几年前,里面使用过 NetBeans以及其他一些公共(public)项目。

还有 Java EE 6 的 Bean Validation用于验证整个对象。

关于java - 如何验证对象的不同属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19533966/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com