2013-01-06 16 views
5

フォーム内のすべてのフィールドを検証するためのトリックがあるのでしょうか?JSFと部分検証

ような何か:

明らか
<p:remoteCommand process="@form^F100" .... /> 

、これは動作しません...

私は、フォームで100個のフィールドを持っている場合は、例えばすべての例外F100を検証する方法やショートカットがあります?

私は

<p:remoteCommand process="F1 F2 F3 F4 F5 F6 .... F99" .... /> 

を使用する運命だろうか?

+0

2つのフォームに分けてみましたか? –

+0

@Alexandre:いいえ、私は同じフォーム内のいくつかの異なるフィールドを検証する複数のcommandButtonを持っているので、1つのフォームだけを保有しなければなりません。 –

+0

フォームを使用して遊んで、プロセス= "@ form1 @ form2"またはプロセス= "@ form1 " 例えば。 –

答えて

13

これにはPrimeFaces Selectors (PFS)を使用できます。これにより、jQuery CSS selector syntaxprocessupdateのPrimeFaces ajaxコンポーネントの属性に使用できます。たとえば、スキップするコンポーネントにnoprocessクラスを使用し、:not(.noprocess)セレクタを使用できます。

<h:form> 
    <h:inputText ... /> 
    <h:inputText ... /> 
    <h:inputText ... /> 
    ... 
    <h:inputText ... /> 
    <h:inputText ... /> 
    <h:inputText ... styleClass="noprocess" /> 
    <p:remoteCommand ... process="@(form :not(.noprocess))"/> 
</h:form> 

この例では、フォーム全体がクライアント側でclass="noprocess"を有する入力の期待処理する次のよう

あなたの特定の要件は、次に解決することができます。

+0

それは...まさに私が必要としていたものでした!いつものようにありがとうございました:) –

+0

よろしくお願いします。 – BalusC

+0

私の情報要件を指定するだけです:私はp:captchaコンポーネントを使い、reCaptchaは部分ページの更新をサポートしていないので、Ajax経由で更新するのではなく、 'Recaptcha.reload()'メソッド –

関連する問題