2013-01-06 24 views
5

Tek bir formdaki tüm alanları doğrulamak için bir numara olup olmadığını merak ediyorum?JSF ve kısmi doğrulama

şey gibi: Açıkçası

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

, bu işe yaramazsa ...

Ben bir formda 100 alanları varsa, örneğin bütün istisna F100 doğrulamak için herhangi bir yolu veya kısayol var ?

Ben

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

kullanmaya mahkum muyum?

+0

Onları iki ayrı forma sokmayı denediniz mi? –

+0

@Alexandre: Hayır ama aynı formda bazı farklı alanları doğrulayan birden çok komutButtonum var, bu yüzden sadece 1 formunu saklamak zorundayım –

+0

Formlarla oynayabilir ve işleminizi değiştirebilirsiniz = "@ form1 @ form2" veya sadece process = "@ form1 " Örneğin. –

cevap

13

Bunun için PrimeFaces Selectors (PFS) kullanabilirsiniz. Bu, PrimeFaces ajax bileşenlerinin process ve update özniteliklerini jQuery CSS selector syntax kullanmanıza olanak tanır. Örneğin, :not(.noprocess) seçiciyi atlamak ve kullanmak istediğiniz bileşende noprocess sınıfını kullanabilirsiniz.

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

Bu örnek, tüm bir şekilde istemci tarafında class="noprocess" olan girişlerin beklemek işleyecek aşağıdaki gibidir:

Kişisel özel istek sonra çözülebilir.

+0

Bu tam olarak ihtiyacım olan şeydi! Her zamanki gibi çok teşekkür ederim :) –

+0

Rica ederim. – BalusC

+0

Sadece bilgi gereksinimi belirtmek için: p: captcha bileşeni kullanıyorum ve reCaptcha kısmi sayfa güncellemesini desteklemiyor, bu yüzden Ajax ile yenilemek istemiyorum, ancak Recaptcha.reload() yöntemi ile –