Constraints-Mappings文件中的Hibernate Validator类级约束

时间:2015-03-07 05:36:49

标签: java xml hibernate validation

我正在使用约束映射XML进行bean验证。我有几个自定义约束,工作正常,以及分组。但我看起来相当详尽,我无法找到如何在映射XML中专门设置类级别约束。使用注释很简单,但如果有人对如何通过XML做到这一点有所了解,那将非常感激。这是我正在看的一个例子:

<bean
    class="SearchRequestTO"
    ignore-annotations="false">
    <constraint annotation="service.constraints.ValidSearch"> <!--where can i put you?-->
      <field
        name="name">
        <valid />
      </field>
      <field
        name="birthDate">
        <valid />
      </field>
      <field
        name="phoneNumber">
        <valid />
      </field>
      <field
        name="emailAddress">
        <valid />
      </field>
      <field
        name="accountId">
        <valid />
      </field>
      <field
        name="role">
        <valid />
      </field>
    </constraint>
  </bean>

我不需要针对此特定请求进行字段级别验证,但我确实想知道是否已填充其中至少一个需要查看整个bean的内容。我已经设置了一个自定义约束和验证器来处理这种情况......但我似乎无法让我的XML在字段之外识别我的约束注释语句。我尝试过类标签的变种无济于事。再次,非常感谢任何援助。 -Trax

1 个答案:

答案 0 :(得分:1)

所以我只需要睡上它。这是工作的xml:

<bean
  class="SearchRequestTO"
  ignore-annotations="false">
    <class
      ignore-annotations="false">
      <constraint 
        annotation="service.constraints.ValidSearch">
      </constraint>
    </class>
    <field
      name="name">
      <valid />
    </field>
    <field
      name="birthDate">
      <valid />
    </field>
    <field
      name="phoneNumber">
      <valid />
    </field>
    <field
      name="emailAddress">
      <valid />
    </field>
    <field
      name="accountId">
      <valid />
    </field>
    <field
      name="role">
      <valid />
    </field>
  </constraint>
</bean>

希望将来可以帮助其他人。