首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以为约束冲突模板消息添加消息参数?

是否可以为约束冲突模板消息添加消息参数?
EN

Stack Overflow用户
提问于 2017-08-04 15:52:21
回答 1查看 4.5K关注 0票数 2

我有我的自定义validator,我想为它添加一些错误消息。所以我有下一个代码:

代码语言:javascript
复制
@Override
public boolean isValid(final String label,
                       final ConstraintValidatorContext constraintValidatorContext) {
     constraintValidatorContext.disableDefaultConstraintViolation();

     if(label.length() > MAX_LENGTH) {
          constraintValidatorContext
                  .buildConstraintViolationWithTemplate("{error.maxLength}")
                  .addConstraintViolation();
          return false;
     }
     ...
}

我的消息看起来像error.maxLength=You have exceeded max length of {0},所以它有maxLength的参数。

是否可以在构建约束冲突时添加它?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-04 16:08:01

可以,停那儿吧。

您必须使用以下内容将ConstraintValidatorContext解压缩到HibernateConstraintValidatorContext

代码语言:javascript
复制
HibernateConstraintValidatorContext hibernateConstraintValidatorContext = constraintValidatorContext.unwrap( HibernateConstraintValidatorContext.class );

然后,您可以使用:

代码语言:javascript
复制
hibernateConstraintValidatorContext.addMessageParameter("name", value);

(您的文件看起来像一个消息参数({variable}),所以这可能是您必须使用的-注意,您需要HV5.4.1,最后才有此方法)

代码语言:javascript
复制
hibernateConstraintValidatorContext.addExpressionVariable("name", value);

如果它是一个表达式变量(所以使用表达式语言和类似于${variable}的东西)

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45510986

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档