2009-06-11 9 views
11

मान लें कि पृष्ठ TestPage.aspx में दो नियंत्रण हैं। पहला नियंत्रण एक पता नियंत्रण है जिसमें "पता समूह" नामक एक सत्यापन समूह है। इस समूह में कई सत्यापन नियंत्रण शामिल हैं जो उस नियंत्रण पर सत्यापन सारांश में एकत्रित हैं। दूसरा नियंत्रण क्रेडिट कार्ड नियंत्रण है और "क्रेडिट कार्ड समूह" नामक एक सत्यापन समूह है। इसके परिणाम देखने के लिए कई सत्यापनकर्ता और सारांश भी हैं। समस्या को जोड़ने के लिए, पृष्ठ पर कुछ यादृच्छिक नियंत्रण होते हैं जिनमें वैधकर्ता भी होते हैं जो तीसरे वैलिडेटरसमरी नियंत्रण से बंधे होते हैं।एक ही बटन के साथ एकाधिक सत्यापन समूहों को ट्रिगर करना?

जब उपयोगकर्ता "इसे सब करें" बटन दबाता है, तो मैं पृष्ठ को सभी तीन सत्यापन समूहों को ट्रिगर करना चाहता हूं। बटन को एक समूह या एक लेबल रहित समूह से जोड़ा जा सकता है। जहां तक ​​मैं कह सकता हूं इसे कई समूहों से बंधे नहीं जा सकते हैं।

समाधान नियंत्रण से सत्यापन निकालने के लिए नहीं है क्योंकि यह अलग नियंत्रण में होने के मूल्य को कम करेगा। आपके विचारों के लिए धन्यवाद।

उत्तर

5

क्या आप क्लाइंट साइड या सर्वर साइड सत्यापन की बात कर रहे हैं? जेमी का जवाब सर्वर के पक्ष में है, लेकिन क्लाइंट साइड सत्यापन के लिए आपको शायद अपना खुद का जेएस फ़ंक्शन लिखना होगा जो संगीत कार्यक्रम में सभी तीन समूहों पर सत्यापन को ट्रिगर करेगा।

+7

जे एस के लिए, आप Page_ClientValidate (कह सकते हैं), इस पृष्ठ पर सभी समूहों पर मान्यता ट्रिगर किया जाएगा। – Ahmed

12

कॉल अलग-अलग बटन के क्लिक हैंडलर के अंदर प्रत्येक मान्यता समूह के लिए मान्य विधि:

bool isValidTest = false; 
Validate("AddressGroup"); 
isValidTest = IsValid; 
Validate("CreditCardGroup"); 
isValidTest &= IsValid; 
// etc. 
if (!isValidTest) return; 

अगले समस्या आपके सामने आने वाले है कि ValidationSummary नियंत्रण एक भी मान्यता समूह से जुड़ा हुआ है। एकमात्र तरीका जिसे मैंने कई समूहों के लिए सभी त्रुटि संदेशों को प्रदर्शित करने के लिए पाया है (नियंत्रण पेड़ चलने के बिना) एकाधिक प्रमाणीकरणसमरी नियंत्रणों का उपयोग किया जाता है।

उपयोगकर्ता नियंत्रण के साथ, आप अपनी मान्य विधि को अपने सभी नियंत्रणों के लिए सत्यापन निष्पादित करना चाहेंगे और अपना सारांश प्रदर्शित कर सकते हैं।

जोड़ने के लिए संपादित: isValidTest चर की आवश्यकता नहीं है। डॉक्स के अनुसार:

नोट है कि जब आप मान्य विधि कॉल, अगर है संपत्ति को दर्शाता है सभी समूहों की वैधता की पुष्टि अब तक।

2

सर्वर साइड पर कॉल Page.Validate() यह सब प्रमाणकों को मान्य होगा ..

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