1

いくつかの条件に基づいていくつかのフィールドを非表示にしています。つまり、UIでは表示されませんが、送信ボタンをクリックすると、strutsはこれらの非表示のフィールドを検証しています。

非表示になっているフィールドを検証しないように支柱に指示する方法はありますか...つまり、UIに表示されている場合にのみこれらのフィールドを検証します。

struts1.2フレームワークを使用しています。

4

2 に答える 2

2

これらの条件をトリガーするときにフォームにプロパティを設定し、バリデーターでそれを確認します。

if(!form.isSkipValidation()){
   //Hear you can write your Validation code..
}

javascriptでは、非表示の入力フィールドを使用してこのプロパティを設定できます。

<input type="hidden" name="skipValidation" value="false"/>

これがお役に立てば幸いです...

于 2012-12-05T04:52:17.143 に答える
2

Strutsは、非表示かどうかに関係なく、フォームにあるものをすべて検証します。

条件付き検証を使用して、非表示にするものを決定する方法に応じて、おそらく別の非表示のフォーム値を使用して、これらの検証を実行する必要があるかどうかを判断する必要があります。

個人的には、この種の検証をXML構成で維持するのは難しいと思います。特に、検証条件がビジネスロジックに依存している場合は、この種のロジックをカスタムバリデーター、またはStrutsフレームワークから完全に分離されたクラスにカプセル化されたActionForm検証メソッドで確認することを好みます。

于 2012-12-05T20:54:57.690 に答える