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

Spring验证,如何让PropertyEditor生成特定的错误消息

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

Spring验证,如何让PropertyEditor生成特定的错误消息

您正在尝试在活页夹中进行验证。那不是活页夹的目的。绑定器应该将请求参数绑定到您的支持对象,仅此而已。属性编辑器将字符串转换为对象,反之亦然-
它并非旨在执行其他任何操作。

换句话说,您需要考虑关注点的分离-您正在尝试将功能扩展到一个对象,而该对象只可以将字符串转换为对象,反之亦然。

您可以考虑将SSN对象分解为易于绑定的多个可验证字段(字符串对象,基本对象(如日期)等)。这样,您可以在绑定后使用验证器来验证SSN是否正确,也可以直接设置错误。使用属性编辑器,您将引发IllegalArgumentException,Spring会将其转换为类型不匹配错误,因为这就是事实-
字符串与预期的类型不匹配。仅此而已。另一方面,验证者可以执行此操作。只要填充了SSN实例,就可以使用spring绑定标签绑定到嵌套字段-
必须先使用new()对其进行初始化。例如:

<spring:bind path="ssn.firstNestedField">...</spring:bind>

但是,如果您确实想坚持下去,请让属性编辑器保留错误列表-
如果要抛出IllegalArgumentException,请将其添加到列表中,然后抛出IllegalArgumentException(如果需要,请重新捕获)。因为您可以在与绑定相同的线程中构造属性编辑器,所以如果您简单地覆盖属性编辑器的默认行为,则这将是线程安全的-
您需要找到用于绑定的钩子并覆盖它-
执行相同的属性编辑器现在要进行的注册(除了相同的方法外,以便可以保留对编辑器的引用),然后在绑定结束时,如果提供了公共访问器,则可以通过从编辑器中检索列表来注册错误。
。检索到列表后,您可以对其进行处理并相应地添加错误。



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

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

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