2012-05-03 7 views
2

私のフォームにはいくつかの "submit"ボタンがあり、いくつかのフィールドの検証はどちらが押されたかによって異なります。 カスタムバリデーターでどのように見つけることができますか?カスタムバリデーターがどのcommandButtonをクリックしたかを知るには

おかげ ジョニー

+0

uはASPXやPHPのHTMLを使用している:validate()実装では、次のと

<h:form id="formId"> ... <h:commandButton id="button1" ... /> <h:commandButton id="button2" ... /> </h:form> 

? – sm13294

+0

its a jsf application – user871611

答えて

6

ボタンのクライアントIDも<input type="submit">nameとして生成されます。プレスされた<input type="submit">name=valueもリクエストパラメータとして送信されます。したがって、リクエストパラメータマップで確認できます。

など。

Map<String, String> params = context.getExternalContext().getRequestParameterMap(); 

if (params.containsKey("formId:button1")) { 
    // Button 1 is pressed. 
} 
else if (params.containsKey("formId:button2")) { 
    // Button 2 is pressed. 
} 
+0

これはトリックでした。おかげさまでもう一度BalusC – user871611

+0

ようこそ。 – BalusC

0

JSFのためにあなたは検証がそれぞれのタグでprimefacesで「バリ& validatorMessages」のような属性を使用することができますErrors..or中に表示されます作り付けの検証メッセージがあるでしょう。

+0

ご迷惑をおかけして申し訳ありません。私はカスタムバリデータを参照していました。私は私の質問の件名を更新します。 – user871611

関連する問題