Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 对象验证_Java - Fatal编程技术网

Java 对象验证

Java 对象验证,java,Java,我有一个需要验证的对象。这个对象的属性不能为null,字符串不能超过给定的大小,日期字符串我需要检查格式的正确性 您将如何执行此验证。我不想看整个物体,我在寻找更有活力的东西 编辑: 这个对象将在webservices输入中使用,因此任何setter验证都是无用的,而且我不知道系统在添加任何基于注释的系统的依赖项时会如何运行 我正在寻找一个定制解决方案(是的,我知道重新发明轮子)如果没有确切的场景,我可以建议您使用对象的setter方法(您确实将字段设置为私有,对吗?)来验证对值的每一个更改。字

我有一个需要验证的对象。这个对象的属性不能为null,字符串不能超过给定的大小,日期字符串我需要检查格式的正确性

您将如何执行此验证。我不想看整个物体,我在寻找更有活力的东西

编辑:


这个对象将在webservices输入中使用,因此任何setter验证都是无用的,而且我不知道系统在添加任何基于注释的系统的依赖项时会如何运行


我正在寻找一个定制解决方案(是的,我知道重新发明轮子)

如果没有确切的场景,我可以建议您使用对象的setter方法(您确实将字段设置为私有,对吗?)来验证对值的每一个更改。字符串设置器可以调用长度验证代码,日期设置器可以调用格式验证代码,等等

希望这有帮助


Yuval=8-

如果没有确切的场景,我建议您使用对象的setter方法(您确实将字段设置为私有,对吗?)来验证对值的每个更改。字符串设置器可以调用长度验证代码,日期设置器可以调用格式验证代码,等等

希望这有帮助


Yuval=8-

检查。

检查。

查看查看

建议在设置对象属性之前进行验证。例如,如果您有一个从字符串解析的int属性,那么在设置它之前,您需要检查null、空字符串、is数字等。否则,您无论如何都会遇到类型问题。而且,如果您想向用户显示错误的值,则需要保留原始字符串

如果这是一个web应用程序,那么有很多框架将为您完成这一部分,然后使用已经验证的和类型安全的值初始化您的对象。我想到了Struts或SpringMVC,但我不是web开发人员。它们使用某种xml配置来描述您的对象和相关的验证,您也可以对其进行扩展。如果这不是一个web问题,那么他们可能会稍微有点碍事,因为他们希望处理错误并直接向用户显示错误页面


对于较低的内容,请尝试。

建议您在设置对象的属性之前进行验证。例如,如果您有一个从字符串解析的int属性,那么在设置它之前,您需要检查null、空字符串、is数字等。否则,您无论如何都会遇到类型问题。而且,如果您想向用户显示错误的值,则需要保留原始字符串

如果这是一个web应用程序,那么有很多框架将为您完成这一部分,然后使用已经验证的和类型安全的值初始化您的对象。我想到了Struts或SpringMVC,但我不是web开发人员。它们使用某种xml配置来描述您的对象和相关的验证,您也可以对其进行扩展。如果这不是一个web问题,那么他们可能会稍微有点碍事,因为他们希望处理错误并直接向用户显示错误页面


对于较低级别的内容,请尝试。

web服务的基本验证在WSDL/XSD级别上处理。

web服务的基本验证在WSDL/XSD级别上处理。

您似乎希望在web服务的服务器端验证对象。如果是这样,我建议的答案可能适用于你的情况

毫无疑问,您已经看到,有几种方法可以验证对象中的字段。但您知道需要做什么:检查每个字段以查看其值是否有效。这里没有魔法:你只需检查字段


如果您希望将验证代码保存在一个地方,那么您可以做的一件事是创建一个包含验证逻辑的xml模式,从中生成类,并使用该模式作为引用验证通过连接得到的对象。这使得维护验证代码和类变得很容易:只需更新模式并重新生成类。(我甚至不会将该类保留在源代码控制中。只需在编译代码之前生成它。这保证了您的类始终与模式同步。)我确信Java中有用于此的库(可能是JAXB?),但我已经多年没有使用Java了。这在许多语言中都很常见。

似乎您希望在web服务的服务器端验证对象。如果是这样,我建议的答案可能适用于你的情况

毫无疑问,您已经看到,有几种方法可以验证对象中的字段。但您知道需要做什么:检查每个字段以查看其值是否有效。这里没有魔法:你只需检查字段


如果您希望将验证代码保存在一个地方,那么您可以做的一件事是创建一个包含验证逻辑的xml模式,从中生成类,并使用该模式作为引用验证通过连接得到的对象。这使得维护验证代码和类变得很容易:只需更新模式并重新生成类。(我甚至不会将该类保留在源代码控制中。只需在编译代码之前生成它。这保证了您的类始终与模式同步。)我确信Java中有用于此的库(可能是JAXB?),但我已经多年没有使用Java了。这在许多语言中都很常见。

thx对于链接,我试图避免注释,一种解决方案是使用oVal,但我正在寻找一种自定义解决方案。我不是在寻找特定的框架,而是解决方案、算法。这个对象将用于Web服务,我不确定它在添加依赖项时会如何运行。不管怎样,就像我上面说的,我