i18n 和 Java 验证注释消息

发布于 2024-11-19 18:47:43 字数 518 浏览 2 评论 0原文

我有以下注释:

@NotEmpty
@Documented
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
@Constraint(validatedBy = SupportedVideoUrlValidator.class)
public @interface SupportedVideoUrl {
    String message() default "{cast.submission.error.video}";

    Class<?>[] groups() default {};

    Class<? extends Payload>[] payload() default {};

    String value() default "";
}

除了 i18n 部分之外,它工作正常。验证后错误消息按原样显示。 我不知道如何处理这个...

如果您有任何想法,请提前感谢您的帮助!

罗尔夫

I've got the following annotation:

@NotEmpty
@Documented
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
@Constraint(validatedBy = SupportedVideoUrlValidator.class)
public @interface SupportedVideoUrl {
    String message() default "{cast.submission.error.video}";

    Class<?>[] groups() default {};

    Class<? extends Payload>[] payload() default {};

    String value() default "";
}

It works OK except the i18n part. The post-validation error message is displayed as is.
I do not know how to handle this...

If you have any ideas, thanks in advance for your help!

Rolf

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

萌辣 2024-11-26 18:47:43

假设您正在使用 JSR-303 注释,请将文件 ValidationMessages.txt 放入其中。 properties 位于类路径的根目录,包含:

cast.submission.error.video=Video URL is not supported.

此文件作为 ResourceBundle 因此,如果您需要不同语言的消息,请添加文件的语言后缀(例如,德语翻译的 ValidationMessages_de.properties)。

Assuming you are using JSR-303 annontations, put a file ValidationMessages.properties at the root of your classpath containing:

cast.submission.error.video=Video URL is not supported.

this file is loaded as a ResourceBundle so if you need message for a different language add the language suffix to the file (eg ValidationMessages_de.properties for german translations).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文