验证生成的 JAXB 类(JSR 303 / Spring)

发布于 2024-11-03 20:50:24 字数 214 浏览 6 评论 0原文

我使用 JAXB (maven-jaxb2-plugin) 从架构(请求和响应)生成域对象
我想为几个属性添加验证(notnull /empty)。我想要自定义 Bean 验证,该应用程序是一个 REST 服务,我正在使用 Spring 3 和 JSR 303 但我不认为我可以使用 JSR 303 来验证对象,因为它是从架构生成的。

有人可以给我一个关于如何完成这件事的正确方向的推动吗?

I Generated domain objects from schema (request & response) using JAXB (maven-jaxb2-plugin)
I would like add validations (notnull /empty) for couple of attributes. I would like to have custom Bean Validation, the application is a REST service, i'm using Spring 3 and JSR 303
but i dont think i can use JSR 303 to validate the object as it is generated from the schema.

can someone give me a nudge in the right direction on how to get this done.

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

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

发布评论

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

评论(4

自此以后,行同陌路 2024-11-10 20:50:25

对于 NotNull/Empty 验证,您可以在模式中使用 jaxb 限制,

这里是一个示例:

<xsd:simpleType name="NotEmptyString">
  <xsd:restriction base="xsd:string">
    <xsd:minLength  value="1"/>
  </xsd:restriction>
</xsd:simpleType>

或者您可以使用正则表达式模式:

<xsd:simpleType name="DirType">
  <xsd:restriction base="xsd:string">
    <xsd:pattern value="[LR]*"/>
  </xsd:restriction>
</xsd:simpleType>

注意:简单类型不保证其自己的类定义。使用 Java 自己的 java.lang.String,并且不会检查长度限制,除非您通过 setEventHandler() 请求。

更多信息 http://jaxb.java.net/tutorial/section_3_3-Validation.html #验证

For NotNull/Empty validation you can use jaxb restriction in schema

here is an example:

<xsd:simpleType name="NotEmptyString">
  <xsd:restriction base="xsd:string">
    <xsd:minLength  value="1"/>
  </xsd:restriction>
</xsd:simpleType>

Or you can use regular expression patterns:

<xsd:simpleType name="DirType">
  <xsd:restriction base="xsd:string">
    <xsd:pattern value="[LR]*"/>
  </xsd:restriction>
</xsd:simpleType>

Note: the simple type doesn't warrant a class definition of its own. Java's own java.lang.String is used, and the length restriction isn't checked unless you request it via setEventHandler() .

more info http://jaxb.java.net/tutorial/section_3_3-Validation.html#Validation

白馒头 2024-11-10 20:50:25

您处于生成 JAXB 的正确路径上。 单击此处查看 JSR 303 如何与 POC 配合使用

You are on the right path to generate the JAXB. Click Here to see How JSR 303 Works with POC

暖伴 2024-11-10 20:50:24

我们一直在使用 Krasa JAXB 插件 从 XSD 生成带 JSR 303 注释的模型 bean文件,然后 告诉Spring自动验证输入bean。如果您有良好的 XSD,这会产生非常漂亮、非常简洁、非常 DRY 的代码。

We've been using the Krasa JAXB plugin to generate JSR 303-annotated model beans from XSD files, and then telling Spring to automatically validate the input beans. This results in very nice, very terse, very DRY code if you have good XSDs.

梦境 2024-11-10 20:50:24

事实上,您可以通过 jsr-303 xml 配置来执行此操作。例如,请参见 http:// /www.aviyehuda.com/2010/04/using-hibernate-validator-to-cover-your-validation-needs/

You can, indeed, do this, via jsr-303 xml configuration. See, for example, http://www.aviyehuda.com/2010/04/using-hibernate-validator-to-cover-your-validation-needs/.

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