【发布时间】:2015-02-26 16:00:15
【问题描述】:
我正在使用带有 xml 的休眠验证器,如下所示:
<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>org.hibernate.validator.quickstart</default-package>
<bean class="com.totempool.persistence.data.User" ignore-annotations="true">
<field name="firstName">
<constraint annotation="javax.validation.constraints.NotNull"/>
<constraint annotation="javax.validation.constraints.Min">
<element name="value">2</element>
</constraint>
</field>
<field name="lastName">
<constraint annotation="javax.validation.constraints.NotNull"/>
<constraint annotation="com.totempool.persistence.constraint.IpValid"/>
<constraint annotation="javax.validation.constraints.Min">
<element name="value">2</element>
</constraint>
</field>
<field name="phones">
<constraint annotation="javax.validation.constraints.NotNull"/>
</field>
</bean>
<constraint-definition annotation="com.totempool.persistence.constraint.IpValid">
<validated-by include-existing-validators="false">
<value>com.totempool.persistence.constraint.IpValidImplementation</value>
</validated-by>
</constraint-definition>
</constraint-mappings>
我的问题是我需要国际化默认提供的消息,我知道使用注释时可以这样做
message="{theMessage}"
并使用 .properties 文件将消息国际化。我试过这个Post 但没有运气。我发现的所有其他信息都在使用注释,而不是使用 xml。因此,如果有人可以提供教程,我可以使用一些方法来做到这一点或告诉我这是否可能是完美的。
编辑
这是当我尝试将特定值放入约束时出现的异常,我尝试更改消息名称但不起作用
Caused by: javax.validation.ValidationException: HV000113: message, groups, payload are reserved parameter names."}}
【问题讨论】:
标签: xml internationalization constraints hibernate-validator