Struts 2需要澄清

时间:2011-09-23 15:55:59

标签: validation struts2

我想知道如何在没有在struts config xml中指定Validate = true的情况下执行struts 2验证。你能告诉我使用验证框架的Struts 2验证流程吗?

2 个答案:

答案 0 :(得分:1)

通过"validation" and "workflow" interceptors的组合进行验证。 2配置文件中没有“验证”设置,因为它是不必要的。

答案 1 :(得分:0)

Struts核心具有验证框架,可帮助应用程序在执行操作方法之前运行规则以执行验证。

Struts 2 validation flow

Actions类作为域数据工作,它在其Action Mapping File中查找属性,并搜索FileName-Validation.xml中的字段验证器,所有验证器都按照validation.xml中定义的字段工作。如果数据不匹配,它会从validation.xml中选择消息并将其显示给用户。

示例Employee-validation.xml:

<validators>
   <field name="name">
      <field-validator type="required">
         <message>
            The name is required.
         </message>
      </field-validator>
   </field>

   <field name="age">
     <field-validator type="int">
         <param name="min">29</param>
         <param name="max">64</param>
         <message>
            Age must be in between 28 and 65
         </message>
      </field-validator>
   </field>
</validators>

这是Employee模型的示例验证文件,将验证属性名称和年龄的请求。如果名称字段留空,则验证将给出错误消息为&#34;该名称是必需的&#34;名称输入框上方如果输入的年龄超出了29-64的限制,则验证将显示错误,因为年龄必须介于28和65之间。在年龄输入框之上。