2009-07-02 4 views
2

私はマップを持っており、式の検証を使用してstruts 2検証フレームワークで検証したいのですが、マップの要素に動的にアクセスするにはどうすればいいですか?動的マップ要素を検証する方法

if map myMap;どのように私はダイナミックキーでマップを検証できますか? mymapというは「給与」のような静的なキーを持っている場合、私は

<field 
    name="myMap['Salary']"> 
    <field-validator 
     type="regex"> 
     <param 
     name="expression">[0-9]+[.][0-9]+</param> 
     <message>${getText("errors.validation.number")}</message> 
    </field-validator> 
</field> 

おかげで、

ヘレン

答えて

0

のように検証することができ、私はあなたが宣言的な検証でこれを行うことができるとは思いません。私は、フレームワークによって生成されたjavascript検証を使用している場合は、これのための検証メソッドに落とすか、またはjavascriptで検証を行うことをお勧めします。

1

宣言的検証でmyAppを使用できる方法は2つあります。 MYMAPを使用することによりmyMap.salary

  • を使用することにより

    1. [「給与」]

    あなたが定義され、あなたの入力フォームフィールドを持っているかに基づいて上記の表記のいずれかを使用する必要があります。 。

    たとえば、入力フォームが以下のようになっている場合は、を使用する必要があります。演算子を使用しています。入力フィールドの名前を定義します。

    <s:form action="sayHello"> 
    <s:textfield name="myMap.salary" label="Salary"> 
    <s:submit/> 
    </s:form> 
    

    あなたがバリでプロパティにアクセスするには、[]演算子を使用し、[] opertaor入力フィールドの名前を定義するために、次に使用する場合。

    上記の検証コードは正しいので、[]演算子を使用して入力フォームに入力フィールドを正しく定義するだけで済みます。これは

  • 関連する問題