1

我想包含在请求中传递的字段值,以包含在验证消息中。但整个字符串按原样显示,不替换字段值。我在这里错过什么了吗?

我正在使用以下版本: javax.validation - 1.1.0.Final hibernate-validator - 5.0.1.Final

http://beanvalidation.org/1.1/spec/#message-expressions

我的豆类:

@NotNull(message = "custom message for not null")
@Range(message="param1 ${validatedValue} must be within {min} and {max}.", min=0, max=90)
protected Double param1;

超出范围后显示的实际错误消息:

 param1 ${validatedValue} must be within 0 and 90.

我的 BV 的 pom 文件:

   <dependency>
        <groupId>javax.validation</groupId>
        <artifactId>validation-api</artifactId>
        <version>1.1.0.Final</version>
        <scope>provided</scope>
    </dependency>

    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-validator</artifactId>
        <version>5.0.1.Final</version>
        <scope>provided</scope>
    </dependency>
4

2 回答 2

1

EAP 6 附带 Bean Validation 1.0/Hibernate Validator 4.2,这些库优先。您可以尝试排除这些容器模块(例如,请参阅这篇文章以了解如何执行此操作)并打包您自己的依赖项。但请注意,其他模块可能需要容器提供的版本。

于 2013-11-07T07:52:04.290 回答
0

@Gunnar 是正确的。为了避免 jboss 加载默认的 bean 验证 api,我在 web-inf 目录下创建了以下 xml 文件并解决了问题。

jboss-部署结构.xml:

 <jboss-deployment-structure>
   <deployment>
   <exclusions>
      <module name="javax.validation.api"/>
      <module name="org.hibernate.validator"/>
    </exclusions>
   </deployment>
 </jboss-deployment-structure>
于 2013-11-08T16:10:28.977 回答