如何国际化spring-mvc表单错误消息?

时间:2011-01-27 18:57:33

标签: spring spring-mvc internationalization

我想翻译表单验证的默认错误消息,例如,当我将字段注释为 @NotEmpty 时,我应该收到如下错误:

may not be empty

当我离开场地时。现在我想用其他语言写这个消息,那么我该怎么做才能翻译它们呢?我希望这适用于使用 @NotEmpty 注释的每个字段,以及其他消息...

谢谢!

2 个答案:

答案 0 :(得分:0)

我认为Spring可以与你的国际化错误代码挂钩......

我的验证器类扩展了Validator并实现了设置MessageSource,然后可以像下面一样传入errorCode,我猜它通过MessageSource集(我通过Spring Bean设置)自动解锁它:

public static void rejectIfEmptyOrWhitespace(Errors errors,
                                             String field,
                                             String errorCode,
                                             String defaultMessage)

http://docs.spring.io/spring-framework/docs/4.2.x/javadoc-api/org/springframework/validation/ValidationUtils.html#rejectIfEmptyOrWhitespace-org.springframework.validation.Errors-java.lang.String-java.lang.String-java.lang.String-

这是我所拥有的一个非常接近的例子(减去他们使用LocaleResolver): http://vardhan-java2java.blogspot.com/2010/08/spring-internationalization-i18n.html

答案 1 :(得分:-2)

您可以使用以下方式将自定义消息添加到@NotEmpty:

@NotEmpty( message = "Your error message")