![](/img/trans.png)
[英]JSR 303 Bean Validation, validation define array values in XML
[英]Bean Validation XML entire bean
我需要使用XML进行bean验证。
我们可以通过在类声明之前放置注释来验证整个类。
@AtLeastOneNotNull
public class SampleBean {
// ...
}
然后使用反射在这些字段上循环。
如何使用XML Bean验证实现同一目标?
<constraint-mappings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://jboss.org/xml/ns/javax/validation/mapping validation-mapping-1.0.xsd" xmlns="http://jboss.org/xml/ns/javax/validation/mapping">
<default-package>my.package</default-package>
<bean class="SampleBean">
<!-- ? -->
</bean>
</constraint-mappings>
在<bean>
之后我只能声明<field>
。
我的目标是使用XML bean验证来验证多个字段依赖性。
例如 :
field1
为null
则field2
不是 请检查Bean Validation 2.0的文档 (如果您仍然使用旧版本-这是指向 1.0版本的链接 )。例9.2显示了您需要的内容:
<?xml version="1.0" encoding="UTF-8"?>
<constraint-mappings
xmlns="http://xmlns.jcp.org/xml/ns/validation/mapping"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/validation/mapping
http://xmlns.jcp.org/xml/ns/validation/mapping/validation-mapping-2.0.xsd"
version="2.0">
<default-package>com.acme.app.domain</default-package>
<bean class="Customer" ignore-annotations="false">
<class ignore-annotations="true">
[...]
</class>
</bean>
</constraint-mappings>
因此,回答您的问题,您应该可以提出:
<bean class="SampleBean" ignore-annotations="false">
<class ignore-annotations="true">
[...]
</class>
</bean>
并定义您的约束。 另外,如果您使用的是Hibernate Validator,则可能需要查看ScripAssert约束-它可以让您编写简单的脚本检查,而无需编写自己的约束来检查至少一个字段是否不为null。 希望这可以帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.