मेरे पास जेएसएफ सत्यापन के लिए विशिष्ट उपयोग केस है। क्योंकि इस समग्र घटक का हिस्सा है, लेकिन समस्या यह बेहतर वर्णन किया गया है, तो हम यह मान यह एक हैइनपुट के रूप में केवल तभी इनपुट करें जब कुछ कमांड बटन दबाया जाता है
<p:inputText id="input" required="#{myBean.required}" value="#{myBean.value}" maxlength="20" disabled="#{myBean.disabled}">
<p:ajax event="blur" process="@this" update="name" listener="#{myBean.listener}"/>
</p:inputText>
इनपुट के मूल्य संख्या (कुछ मामलों में यह भी एक स्ट्रिंग हो सकती है: उदाहरण के लिए मैं एक inputText
क्षेत्र है संख्या)। इस इनपुट, फार्म का हिस्सा है फार्म के अंत में मैं सबमिट करें बटन:
<p:commandButton value="Save" actionListener="#{myBean.save}"/>
मेरे अनुरोध कर रहे हैं:
- जब सबमिट बटन दबाया जाता है सब सत्यापन संसाधित किया जाना चाहिए और यह ठीक है , यह ठीक काम करता है।
- जब क्षेत्र खाली नहीं होता है तो इनपुट फ़ील्ड पर धुंधला ईवेंट निकाल दिया जाता है, तो संख्या सत्यापन को संसाधित किया जाना चाहिए, और यह भी ठीक है। अंत में मैं कुछ मूल्य के साथ आईडी
name
के साथ फ़ील्ड अपडेट करता हूं। - अब मुझे कोई समस्या है। मेरा तीसरा अनुरोध तब होता है जब इनपुट पर इनपुट खाली प्रमाणीकरण संसाधित नहीं किया जाना चाहिए। यह एक विशेष मामला है जिसमें मैं आईडी
name
के साथ फ़ील्ड साफ़ कर दूंगा। यह भी तब होता है जब मैं इनपुट में पहले से दर्ज पाठ को हटा देता हूं, घटक से फोकस हटाएं (उदाहरण के लिए टैब दबाएं) और उस स्थिति में AJAX अनुरोध को भी संसाधित किया जाना चाहिए और नाम इनपुट भी साफ़ कर दिया जाएगा।
मैं खाली होने पर इस इनपुट फ़ील्ड के सत्यापन को कैसे अक्षम कर सकता हूं, और केवल इस AJAX ईवेंट के लिए?
आपको लगता है कि उस मामले में आवश्यक सत्यापन छोड़ा जाएगा? क्यूं कर? – partlov
जब तक आप इनपुट (और इस प्रकार परिवर्तन) भरते नहीं हैं, तब तक धुंध को धुंधला नहीं किया जाएगा। – BalusC
शायद मैं तीसरे अनुरोध में विशिष्ट उपयोग मामले से स्पष्ट नहीं था। मैंने इसे संपादित किया। उपयोगकर्ता पाठ को हटा सकता है (शायद गलती से) और उस मामले में नाम इनपुट साफ़ कर दिया जाएगा। – partlov