栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在Spring中使用批注验证,并从属性文件中获取错误消息?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在Spring中使用批注验证,并从属性文件中获取错误消息?

要告诉hibernate验证器对代码进行查找,请将message的值放在大括号中。例如,

@NotNull(message="{worker.name.NotNull}"
然后将转换内容放在类路径根目录的ValidationMessages.properties中。(/
WEB-INF / classes,maven中的资源文件夹,等等。)

验证器实现独立地查找它们,它们继续在已转换为默认消息的BindingResult上进行。发生在Spring消息源之外。从理论上讲,您可以重写LocalValidatorFactory
bean,以将验证器的消息输出作为代码放置到Errors对象上,然后将括号保留在批注中,以便Hibernate Validator使其通过。将JSR-303
ConstraintViolations转换为spring
Errors的源代码非常容易阅读和扩展。它只是将注释的名称作为代码,将注释的属性作为args,然后将验证程序的翻译作为默认消息。

可以在这里查看:[https](https://src.springframework.org/svn/spring-
framework/trunk/org.springframework.context/src/main/java/org/springframework/validation/beanvalidation/SpringValidatorAdapter.java)
//src.springframework.org/svn/spring-
framework/trunk/org.springframework.context/src/main/java/org/springframework/validation/beanvalidation/SpringValidatorAdapter.java

编辑评论中的问题:

您可以在其中添加一个

javax.validation.MessageInterpolator
javax.validation.Configuration
以告诉它在其他属性文件中查找消息。如果您使用的是Spring
LocalValidatorFactory bean,则上面有一个setMessageInterpolator,您可以使用它来注入一个。

对于hibernate,提供程序实现为:http
:
//docs.jboss.org/hibernate/validator/4.1/api/org/hibernate/validator/messageinterpolation/ResourceBundleMessageInterpolator.html



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/430501.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号