Mat*_*ell 5 java validation annotations jaxb
一直在使用最新的 JAXB Sun 实现,但可以依靠 XJC 生成正确的注释。有几个示例,其中 XJC 没有任何逻辑原因没有附加 XMLElement 或 XMLAttribute 注释。加上插件框架背后的逻辑有问题。无论如何,我想放弃编写模式只是为了生成 POJO,然后必须加载模式仅用于验证的想法。
有人有办法直接针对 Javax 绑定注释进行验证吗?看到了一个很酷的解决方法: 如何在 jaxb 中解组并享受模式验证而不使用显式模式文件
动态创建模式只是为了进行验证。正在寻找一种直接针对注释的方法(例如 Hibernate Validator 和 JSR 303,但专门针对 Javax 绑定注释)?
没有任何可以针对 JAXB 注释进行的标准验证。事实上,在大多数情况下,这是因为对象模型的类型性质减少了可能出现的无效输入的数量(例如,如果我的客户元素有一个子地址元素,那么我的客户对象有一个地址属性,你可以'不要在该属性上设置除 Address 对象之外的任何内容)。
您可能需要验证的地方是将集合限制为一定数量的元素(因为您有 maxOccurs="10"),或将字符串限制为特定长度(因为您有模式方面)。默认情况下,JAXB 2.X (JSR 222) 不会将这些生成到您的对象模型上(尽管您当然可以自己添加它们,就像人们在使用 JPA 时所做的那样),使用 JSR 303 并运行验证器。
与您的问题相关的其他要点:
如果您在使用 XJC 工具时遇到问题,请考虑记录一个针对该工具的错误:
如果不存在注释,则默认为 @XmlElement,因此其中一些注释可能会因此丢失。通常添加注释只是为了调整名称或命名空间信息。
使用 JAXB(就像 JPA),您可以从 POJO 开始。可以添加 JAXB 注释来自定义 XML 表示。
| 归档时间: |
|
| 查看次数: |
2784 次 |
| 最近记录: |