【问题标题】:Need help-Method specific validation in struts 2需要帮助-struts 2中的方法特定验证
【发布时间】:2013-03-02 11:56:29
【问题描述】:

我正在同一个操作类 (Employee.java) 中创建一个包含两个方法(execute、addEmployee)的示例应用程序。我需要验证这两种方法中的一些公共字段,并且我有一些特定于方法的验证。 我的 Employee.java 代码是:

public class Employee extends ActionSupport{
   public String execute() 
   {
       return SUCCESS;
   }

   public String addEmployee()
   {
       return SUCCESS;
   }
}

和验证文件:

Employee-validation.xml 代码,用于验证姓名和年龄字段的必填字段验证。

员工执行验证.xml

 <field name="age">
    <field-validator type="int">
    <param name="min">10</param>
    <param name="max">40</param>
    <message>Age must be in between 10 and 40</message>
    </field-validator>
    </field> 

Employee-addEmployee-validation.xml

 <field name="gender">
    <field-validator type="int">
    <param name="min">1</param>
    <message>Please select a value</message>
    </field-validator>
    </field>

但在运行时,只有 Employee-validation.xml 中定义的规则有效。

请帮帮我。

【问题讨论】:

    标签: java validation struts2


    【解决方案1】:

    您正在操作级别进行验证,因此请将您的 {youractionfile}-validation.xml 放在您的操作类的同一包中。一个 Action 类可以有一个验证。 试试这个!!

    员工验证.xml

    <validators>
    <field name="age">
        <field-validator type="int">
        <param name="min">10</param>
        <param name="max">40</param>
        <message>Age must be in between 10 and 40</message>
        </field-validator>
        </field> 
    <field name="gender">
        <field-validator type="int">
        <param name="min">1</param>
        <message>Please select a value</message>
        </field-validator>
        </field>
    </validators>
    

    【讨论】:

    • 是的。我也将员工验证文件放在同一个包中。 Emplyee-validation.xml 代码仅对姓名和年龄字段具有必需的字段验证器。 @divyadharathi
    • 对于一个动作类,必须有一个验证。
    • @divyabharathi:单个操作可能不止一个验证文件。
    【解决方案2】:

    可以按动作别名而不是按方法定义验证。

    <actionClass>-<actionAlias>-validation.xml
    

    这里的actionAlias指的是配置中的动作名称,而不是动作类中的方法。

    【讨论】:

    • 什么例子?如果您有Employee-addEmployee-validation.xml 文件,则意味着您在配置中的操作名称必须是addEmployee
    猜你喜欢
    • 1970-01-01
    • 2012-12-26
    • 1970-01-01
    • 1970-01-01
    • 2019-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多