【问题标题】:Hibernate Validator Class-Level constraints in the Constraints-Mappings fileConstraints-Mappings 文件中的 Hibernate Validator Class-Level 约束
【发布时间】:2015-03-07 05:36:48
【问题描述】:

我正在使用约束映射 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

【问题讨论】:

    标签: java xml hibernate validation


    【解决方案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>
    

    希望这将在未来对其他人有所帮助。

    【讨论】:

    • 对于参数我们需要添加元素标签。 制造商licensePlate跨度>
    • @UmairSaleem - 我不确定这是否是个问题,基本上语法与字段验证器相同,但使用类标签。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-12
    • 2019-06-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多