Bean Validation + Resource Bundle想法?

时间:2011-03-20 05:39:11

标签: java jpa validation bean-validation resourcebundle

以下是我希望能够在我的JPA实体中使用bean验证:

  1. 而不是@NotNull,我想@NotNull(message="keyInMyResourceBundleFile")
  2. 我想参数化resourceBundle,我也不知道它的语法,因为在我看来,message属性只包含一个字符串。
  3. 参数本身可以是i18n-ed。例如,假设resourcebundle参数有一个param属性,用英语@NotNull(message="missing.value", params={"credit card"}) String creditCard;它会显示如下:“字段信用卡缺少必需值。在印度尼西亚,它'我会像“Nilai harus di isi untuk Kartu Kredit 。在这个例子中,我不能硬编码“信用卡”,因为在印度尼西亚,它是“Kartu Kredit”
  4. 显示日志文件或UI上资源包中定义的错误消息。我不知道如何做到这一点,我应该抓住ConstraintViolationException,获取消息,并通过我自己的代码处理资源包吗?
  5. 请分享您的想法?

    谢谢!

1 个答案:

答案 0 :(得分:3)

关于1 + 2

@NotNull(message="{keyInMyResourceBundleFile}")

圆括号是参数替换的指标

关于3

不知道你在追求什么。 @NotNull没有 params 属性。我想你会做的

@NotNull(message="{missing.credit.card}")

如果你将它放在另一个属性上,你可以调用密钥 {missing.name}

关于4

ConstraintViolationException 包含* ConstraintViolation * s的集合。每个 ConstraintViolation 都包含插值消息以及消息模板。如果你想记录它,那就去做吧......