2013-01-06 11 views
5

मुझे आश्चर्य है कि एक फ़ील्ड को छोड़कर किसी भी रूप में सभी फ़ील्ड को सत्यापित करने के लिए कोई चाल है या नहीं?जेएसएफ और आंशिक सत्यापन

कुछ की तरह:

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

जाहिर है, यह काम नहीं करता ...

अगर मैं एक के रूप में 100 फ़ील्ड हैं, वहाँ किसी भी तरह से या शॉर्टकट उदाहरण के लिए सभी अपवाद F100 मान्य करने के लिए है ?

मैं

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

उपयोग करने के लिए बर्बाद हो रहा हूं?

+0

क्या आपने उन्हें दो अलग-अलग रूपों में रखने की कोशिश की है? –

+0

@Alexandre: नहीं, लेकिन मेरे पास एकाधिक कमांड बटन हैं जो एक ही रूप के अंदर कुछ अलग-अलग फ़ील्ड मान्य करते हैं इसलिए मुझे केवल 1 फॉर्म –

+0

रखना होगा, आप फ़ॉर्म के साथ खेल सकते हैं और अपनी प्रक्रिया = "@ form1 @ form2" या केवल प्रक्रिया = "@ form1" " उदाहरण के लिए। –

उत्तर

13

आप इसके लिए PrimeFaces Selectors (PFS) का उपयोग कर सकते हैं। यह आपको process और update प्राइमफ़ेस 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

बस जानकारी के लिए मेरी आवश्यकता निर्दिष्ट करने के लिए: मैं पी का उपयोग करता हूं: कैप्चा घटक और reCaptcha आंशिक पृष्ठ अपडेट का समर्थन नहीं करता है, इसलिए मैं इसे अजाक्स के माध्यम से रीफ्रेश नहीं करना चाहता लेकिन 'Recaptcha.reload()' विधि के साथ –