我正在使用 xml 文件来指定对传入请求 bean 的约束。我在validation-constraints.xml 文件中执行此操作,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<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>com.mathworks.internal.business.geoTypes
</default-package>
<bean class="GetStatesByCountryCodeRequest">
<field name="countryCode">
<constraint annotation="org.hibernate.validator.constraints.NotBlank" />
</field>
</bean>
</constraint-mappings>
我还需要国家代码只有 2 个字符长。我查看了 hibernate 提供的长度 validator ,但它需要一个最小值和一个最大值,我猜测在我的情况下应该是 2 和 2。如何以 XML 方式指定长度约束?我找不到任何例子。
最佳答案
我最终做了以下事情:
<bean class="GetStatesByCountryCodeRequest">
<field name="countryCode">
<constraint annotation="org.hibernate.validator.constraints.NotBlank" />
<constraint annotation="org.hibernate.validator.constraints.Length">
<element name="min">2</element>
<element name="max">2</element>
</constraint>
</field>
</bean>
这似乎暂时解决了问题。
关于java - XML 中的 Hibernate validator 约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21528464/