

前回の続きになります  
[独自アノテーションでエラーメッセージを出し分けたい  
](https://ja.stackoverflow.com/questions/68475/%E7%8B%AC%E8%87%AA%E3%82%A2%E3%83%8E%E3%83%86%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%A7%E3%82%A8%E3%83%A9%E3%83%BC%E3%83%A1%E3%83%83%E3%82%BB%E3%83%BC%E3%82%B8%E3%82%92%E5%87%BA%E3%81%97%E5%88%86%E3%81%91%E3%81%9F%E3%81%84)

context.disableDefaultConstraintViolation();でデフォルトメッセージを抑制し、  
context.buildConstraintViolationWithTemplateでメッセージを複数出し分けることができました。

JavaでのBeanValidationで独自アノテーションを作っており、複数エラーメッセージを出し分けるところまで来ました。  
**このエラーメッセージの一部を動的に変える方法はありますでしょうか？**

errors.propertiesに NOT_EXIST_END_TAG.msg={invalidHTMLtag} should be set with
end tag. と設定していますが、この{invalidHTMLtag} の値を設定したいです。

他のConstraintValidatorContextを使っていないところでは .metadata("invalidHtmlTag",
errorContent.get(0).getMetadata().get("ERR_TAG"))
としてErrorContentに設定し、それをContextに追加して表示していました。

もしわかる方がいればよろしくお願いいたします。


CC BY-SA 4.0
2020-07-13T04:47:00.723
68540
2020-07-13T10:43:32.747
40231
question
java annotations
独自アノテーションのエラーメッセージの一部を動的に変えたい


<https://stackoverflow.com/questions/21486192/bean-validation-message-with-
dynamic-parameter>  
ひとまずこれで解決できそうでした。  
解決できそうでしたとしたのはValidationMessage.propertiesを使う必要がありそうだったり、任意の値を渡せなさそうだったからです。

<https://qiita.com/neriudon/items/4329c80e676362c62f28>  
こちらに任意のパラメータを渡す方法も載っていました。

ただ私のアーキテクチャは癖があるのでフィットさせることができませんでした。  
そのためある程度試しましたが、再現できませんでした。

こちらのアーキテクチャ特有の対応が必要になりましたので、この質問の回答は一旦これでよしとします。


CC BY-SA 4.0
2020-07-13T10:43:32.747
68554
2020-07-13T10:43:32.747
40231
68540
answer