Java struts 2中特定于方法的验证需要帮助吗

Java struts 2中特定于方法的验证需要帮助吗,java,validation,struts2,Java,Validation,Struts2,我正在同一个操作类(Employee.java)中使用两个方法(execute、addEmployee)创建一个示例应用程序。我需要验证这两个方法中的一些公共字段,并且我有一些特定于方法的验证。 我的Employee.java代码是: public class Employee extends ActionSupport{ public String execute() { return SUCCESS; } public String addEmplo

我正在同一个操作类(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> 
 <field name="gender">
    <field-validator type="int">
    <param name="min">1</param>
    <message>Please select a value</message>
    </field-validator>
    </field>

10
40
年龄必须在10到40岁之间
Employee addEmployee validation.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> 
 <field name="gender">
    <field-validator type="int">
    <param name="min">1</param>
    <message>Please select a value</message>
    </field-validator>
    </field>

1.
请选择一个值
但在运行时,只有Employee-validation.xml中定义的规则起作用


请帮我解决这个问题。

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

Employee-validation.xml


10
40
年龄必须在10到40岁之间
1.
请选择一个值

验证可以定义为每个操作别名,而不是每个方法

<actionClass>-<actionAlias>-validation.xml
-validation.xml

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

yes。。我将员工验证文件也放在同一个包中。Emplyee-validation.xml代码仅对名称和年龄字段具有必需的字段验证器@divyabharathi对于一个操作类,必须有一个验证。@divyabharathi:对于单个操作,它可以是多个验证文件。什么示例?如果您有
Employee addEmployee validation.xml
文件,则表示配置中的操作名称必须是
addEmployee