2016-10-10 19 views
1

私はSpringブートプロジェクトでHibernate検証を使用しています。私は{min}{max}として中括弧でValidationMessage.propertiesファイルとも引数からメッセージを読み取ることができていますけれども:Hibernateの検証でプレースホルダがValidationMessages.propertiesファイルに変数値を表示していません

Size.accountRequestBean.firmName=size should be between {min} and {max} 

ValidationMessages.properties

Size.accountRequestBean.firmName={0} should be between {1} and {2} 

しかし、私はSize.accountRequestBean.firmName={0} should be between {1} and {2}を使用するときに表示されるメッセージは{0}です{1}{2}の間である必要があります。

予想:サイズは、私が使用しています

public class Bean { @Size(min=2, max=30,message="{Size.accountRequestBean.firmName}") private String firmName; } 

Bean.java

@SpringBootApplication 
public class DemoApplication extends WebMvcConfigurerAdapter{ 


    public static void main(String[] args) { 
     SpringApplication.run(DemoApplication.class, args); 
    } 

} 

DemoApplication.java

2〜30の検証依存する必要があります:

<!-- Hibernate Validator --> 
<dependency> 
    <groupId>javax.validation</groupId> 
    <artifactId>validation-api</artifactId> 
    <version>1.0.0.GA</version> 
</dependency> 

<dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate-validator</artifactId> 
    <version>4.3.1.Final</version> 
</dependency> 

私が間違っている箇所を教えてください。

答えて

0

messages.propertiesにごValidationMessage.propertiesファイルの名前を変更します(デフォルトの春でresourcesフォルダの下にそれを見つけることを期待)とその中に次のプロパティを置く:code.objectName.fieldName:ここでは優先順位がある

bean.hasErrors=Please fix the following errors 
bean.firmName=Firm Name 
Size.bean.firmName={0} should be between {2} and {1} 

注意。 objectNameはクラス名と同じでなければならないので、代わりにaccountRequestBeanbean(オブジェクトとしてBean.java)と置きます。


その後、あなたは@Size注釈でmessageキーを省略することができます。あなたはmessages.propertiesファイル春のブートを使用すると、自動的にそのメッセージを取得:

@RequestMapping(value = "/doBean", method = RequestMethod.POST) 
public String doBean (@Valid Bean checkoutCommand, BindingResult bindingResult) { 
    if (bindingResult.hasErrors()) { 
     return "form"; 
    } 
    return "success"; 
} 

てください:

public class Bean { 
    @Size(min = 2, max = 30) 
    private String firmName; 

    // getter, setter 
} 

により、たとえば、Bean検証を使用するように、コントローラに@Validアノテーションを使用していることを確認しますcomplete code exampleを探します。

あなたはこのような何かを得る必要があります。

enter image description here

+0

おかげDimaSanを。私はすべての変更を行ったw –

+0

これはSpring MVCプロジェクトのビデオの1つに表示されています。https://www.youtube.com/watch?v=x09tx_XrnXE.Is anythingのリンクを提供しています。私はspringbootでやっていることに関連していますか? –

+0

私はすべての変更を行っていますが、同じ結果を得ています。私は春のブートでやっている何らかの理由があります。私は多くのPOCをやったことがあってもまだインターネットには何の答えもありません。 –

関連する問題