JSR-303 Bean Validation 序列化结果

Posted

技术标签:

【中文标题】JSR-303 Bean Validation 序列化结果【英文标题】:JSR-303 Bean Validation serialize result 【发布时间】:2013-02-16 11:06:38 【问题描述】:

我正在寻找一种方法来获取JSR-303 Bean Validation 结果服务器端,然后获取带有违规属性映射的序列化表单及其错误消息,并通过 RPC 将其发送给客户端。

我正在使用Spring 服务器端和GWT RPC

Spring BindingResult 的使用不像 ConstraintViolation 那样可序列化。我希望能够以某种方式序列化这个 BindingResult。

注意:我没有使用Spring MVC

【问题讨论】:

【参考方案1】:

根据规范 ConstraintViolation 是不可序列化的。事实上,无论如何都很难执行它,因为违规包含例如经过验证的对象本身,它可能是可序列化的,也可能不是可序列化的。 ConstraintViolation 的 Hibernate Validators 实现是可序列化的,但它仅在所有已验证对象也可序列化时才有效。

我个人不会尝试序列化 _ConstraintViolation_s。捕获验证异常服务器端并返回一些自定义对象。

【讨论】:

我最后做了一个自定义序列化。感谢您提供背景信息

以上是关于JSR-303 Bean Validation 序列化结果的主要内容,如果未能解决你的问题,请参考以下文章

JSR 303 - Bean Validation 介绍及最佳实践

JSR-303 Bean Validation 介绍及 Spring MVC 服务端验证最佳实践

JSR 303 - Bean Validation 介绍及最佳实践

在 JSF 2 Web 应用程序中使用 Bean Validation (JSR 303) 是个好主意吗?

JSR-303 Bean Validation 介绍及 Spring MVC 服务端验证最佳实践

JSR303校验