3

同じアクション クラス (Employee.java) に 2 つのメソッド (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> 

従業員-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 で定義されたルールのみが機能します。

これで私を助けてください。

4

2 に答える 2

1

検証は、メソッドごとではなく、アクション エイリアスごとに定義できます。

<actionClass>-<actionAlias>-validation.xml

ここactionAliasでは、アクション クラスのメソッドではなく、構成のアクション名を参照します。

于 2013-03-14T09:23:13.273 に答える
0

アクション レベルで検証しているため、アクション クラスの同じパッケージに {youractionfile}-validation.xml を配置します。1 つの Action クラスに対して 1 つの検証が可能です。これを試して!!

従業員検証.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>
于 2013-03-14T08:28:29.003 に答える