2011-08-03 12 views
0

私は、サーバーから取得したデータに基づいてjspを使用して動的に入力フィールドを生成しています。動的に生成される必須フィールドを検証する

これらのフィールドの一部は必須フィールドにすることができます。フォームをサーバーに送信する際に、これらのフィールドを検証するにはどうすればよいですか。

例えば生成されたフィールドを

field1    ---------------- 

field2 (required) ---------------- 

field3    ---------------- 
+0

どのようなWebフレームワークですか?どのような検証フレームワークですか? – Affe

+0

サーバー側のSpringフレームワーク。私は提出中にクライアント側(単純なjavascript)の検証をしたい。それが道場にあればそれも良いでしょう。 –

答えて

0

必須フィールドには必須属性があります。だから、javascriptのすべてのフィールドを反復し、必要な属性を見つけることによって、これらのフィールドを検証することができます。

var parmCount = parmTable.rows.length - 1; 
for(var i = 0; i < parmCount; i++) { 
    //logic to get form values 
    if(ParamVal.value == '' && attrVal!= null && attrVal == 'required') { 
    //validate here 
    } 
} 
0

ある場合、これはjQueryのを使用して、JavaScriptで、クライアント側で達成するのは非常に簡単です。

私は最近、requiredFieldという特殊なCSSクラスを使用してこれを行いました。これは、必要なフィールドのフォームフィールドに動的に移入されます(すべてのフィールドが必要な場合でも必要ありません)。

次に、セレクタ$(".requiredField")を使用してループし、すべてのフィールドで検証を実行します。フィールドのタイプに基づいてロジックを異ならせる必要があるかもしれませんし、対応するセレクタを使用して、入力フィールドとは別にチェックボックスを検証してください。

妥当性確認の例はたくさんありますので、機械的にフィールドを検証する方法ではなく、フィールドを動的に見つける方法に関する質問があると仮定しています。

もちろん、フォームフィールドを生成したのと同じように、フォームフィールドごとにJavaScript行を生成することもできますが、これは不要です。

+1

その戦略を実装するために* jQueryは必要ありませんが、それ以外の方法があれば助けてくれると思います。 OPは[HTML5 getElementsByClassName](http://www.w3.org/TR/html5/dom.html#dom-getelementsbyclassname)などの要素を使用して、* requiredField *(または何でも)のクラスを持つ要素をループすることができます'element.value!= '''か 'element.value!= element.defaultValue'かどうかを見てください。 – RobG

関連する問題