簡體   English   中英

使用Hibernate Validator在錯誤消息中包含字段值

[英]Include field value inside error message using Hibernate Validator

我想包括在請求中傳遞的字段值,以將其包含在驗證消息中。 但是整個字符串將按原樣顯示,而不替換字段值。 我在這里想念什么嗎?

我正在使用以下版本: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>

EAP 6隨附Bean驗證1.0 / Hibernate Validator 4.2,這些庫具有優先權。 您可以嘗試排除這些容器模塊(例如,有關此操作的說明,請參閱此帖子 ),並打包自己的依賴項。 但是請注意,其他模塊可能需要容器提供的版本。

@貢納爾是正確的。 為了避免jboss加載默認的bean驗證api,我在web-inf目錄下創建了以下xml文件,並解決了問題。

JBoss的部署,structure.xml:

 <jboss-deployment-structure>
   <deployment>
   <exclusions>
      <module name="javax.validation.api"/>
      <module name="org.hibernate.validator"/>
    </exclusions>
   </deployment>
 </jboss-deployment-structure>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM