2012-02-03 10 views
5

हम उपयोगकर्ता को सत्यापन त्रुटियों को दिखाने के लिए "त्रुटि संदेश" XPages (मूल) नियंत्रण का उपयोग कर रहे हैं। यह काम करता हैं। फ़ील्ड को आवश्यकतानुसार फ़ील्ड सेट करके और फ़ील्ड त्रुटि संदेश दर्ज करके सत्यापन किया जाता है। कुछ खास नहीं।प्रमाणीकरण संदेशों के क्रम को कैसे सेट करें?

अब आवश्यकता है कि त्रुटि संदेश उसी क्रम में सेट करें जैसे वे फॉर्म में दिखाई देते हैं। क्या यह संभव है?

मुझे लगता है कि मैं एक कस्टम सत्यापनकर्ता (जावा) बना सकता हूं और कुछ ऑर्डर में सभी फॉर्म सत्यापन कर सकता हूं (केवल सत्यापन इंटरफ़ेस का परीक्षण किया है ... लेकिन वास्तव में आईडी का उपयोग नहीं किया गया है)।

+0

त्रुटि संदेश डिफ़ॉल्ट रूप से किस क्रम में प्रकट होते हैं? मुझे लगता है कि वे उसी क्रम में दिखाई देते हैं क्योंकि वे स्रोत कोड में सूचीबद्ध हैं (लेकिन मैं देख सकता हूं कि यह वही आदेश नहीं हो सकता है जैसा कि वे सीएसएस लागू होने के बाद दिखाई देते हैं) –

+0

मैं आदेश की अपेक्षा नहीं करता स्रोत के समान ही। समान रूप से मैंने इसका परीक्षण नहीं किया है। लेकिन मैं उम्मीद करता हूं कि यह वैधकर्ताओं से पहले कन्वर्टर्स चलाएगा, इसलिए कनवर्टर त्रुटि के साथ नियंत्रण पहले दिखाई दे सकता है। जांचने के लिए दूसरी जगह जावा क्लास बनाई जाएगी। वह होगा जो चलता है, इसलिए नियंत्रण का क्रम उस क्रम में हो सकता है जिसमें नियंत्रण बनाए गए थे, न कि वे स्रोत फलक में दिखाई देने वाले क्रम में। उस स्थिति में, जावा क्लास को पुन: व्यवस्थित करने से त्रुटि संदेशों का क्रम बदल सकता है –

+0

@Paul - वास्तव में मान फ़ील्ड को सत्यापित करने से ठीक पहले एक फ़ील्ड कनवर्टर चलाया जाता है। तो यह अभी भी पेड़ में दिखाई देने के क्रम में है। तो यदि आपके पास घटक पेड़ में दो फ़ील्ड हैं, तो एक के बाद एक दाएं, और फ़ील्ड 1 सत्यापन पर विफल रहता है और फ़ील्ड 2 रूपांतरण पर विफल रहता है, तो आपको एक वैधकर्ता त्रुटि दिखाई देगी, फिर कनवर्टर त्रुटि होगी। –

उत्तर

0

पुराना (अनसुलझा) तर्क है: क्या त्रुटियों को उस प्रपत्र के शीर्ष पर दिखाई देना चाहिए जो फ़ॉर्म के शीर्ष पर या सबमिट करने के लिए दबाए गए बटन के बगल में सत्यापन में विफल रहा है। मैं उन्हें असफल नियंत्रण के बगल में डालता हूं और बटन पढ़ने के बगल में एक संदेश देता हूं: "क्षमा करें, मैं इनपुट को संसाधित नहीं कर सकता, मेरी मदद कर सकता हूं और उन फ़ील्ड को ठीक कर सकता हूं जिनके पास त्रुटि संदेश हैं"। फिर अनुक्रम अब कोई मुद्दा नहीं है। यदि आप 100% सुनिश्चित करना चाहते हैं तो आप सारांश नियंत्रण के बजाय एक दूसरे के बगल में व्यक्तिगत नियंत्रण का उपयोग कर सकते हैं।

वैसे भी एक अच्छा अभ्यास होगा: त्रुटि संदेश नियंत्रण विफल नियंत्रण के सीएसएस को बदलने दें, इसलिए यह स्पष्ट हो जाता है कि क्या देखना है।

+0

आप इस तकनीक का उपयोग करके असफल नियंत्रण को अलग-अलग शैली में शैलीबद्ध कर सकते हैं: http://dontpanic82.blogspot.com/2011/07/xpages-styling-invalid-field.html –

+0

मैंने एक "उन्नत" त्रुटि संदेश नियंत्रण भी पोस्ट किया जो लिंक उत्पन्न करता है त्रुटि संदेश ताकि आप अमान्य फ़ील्ड पर फ़ोकस सेट करने के लिए त्रुटि संदेश पर क्लिक कर सकें। http://dontpanic82.blogspot.com/2011/07/custom-control-for-enhanced-validation.html –

+0

त्रुटि संदेश कस्टम नियंत्रण जो मैंने लिंक किया है अब नियंत्रण संदेशों को क्रम में दिखाने के क्रम में दिखाना चाहिए पन्ना। –

0

मान्यताओं को एक पेड़ में निकाल दिया जाता है ताकि वे घटक पेड़ में हों। आप उन्हें प्रदर्शित करने के लिए कैसे चाहते हैं इस पर निर्भर करते हुए आप घटक को चारों ओर ले जा सकते हैं और फिर उन्हें सीएसएस के साथ शैली बना सकते हैं। या यदि आप वास्तव में संदेश बॉक्स में चारों ओर सारांश विवरणों के क्रम को स्थानांतरित करना चाहते हैं, तो मैं बस कुछ जेएस का उपयोग उन्हें स्थानांतरित करने के लिए करता हूं, मुझे विश्वास है कि वे सिर्फ यूएल के रूप में प्रस्तुत करते हैं। केवल एक वैलिडेटर होने पर वास्तव में काम नहीं करेगा क्योंकि घटक पेड़ के क्रम में प्रत्येक घटक के लिए उसी सत्यापनकर्ता को निकाल दिया जाएगा।

संबंधित मुद्दे