2008-12-11 15 views
11

मेरे पास एक एएसपी.Net वेब उपयोगकर्ता नियंत्रण है जिसमें टेक्स्टबॉक्स और अजाक्स नियंत्रण टूलकिट से कैलेंडर शामिल है।वेब उपयोगकर्ता नियंत्रण और सत्यापन

जब मैं अपने पृष्ठ पर इस उपयोगकर्ता नियंत्रण को शामिल करता हूं, तो मैं इसे इनपुट सत्यापन में भाग लेना चाहता हूं (यूसी के अंदर टेक्स्टबॉक्स पर एक आवश्यक दायर सत्यापनकर्ता सेट है), यानी। जब पृष्ठ मान्य होता है तो यूसी की सामग्री को भी सत्यापित किया जाना चाहिए। तो मैंने अपने यूसी को IValidator इंटरफेस को कार्यान्वित किया था, जो अच्छी तरह से काम करता था सिवाय इसके कि मैं उपयोगकर्ता नियंत्रण पर सत्यापन समूह सेट नहीं कर सका। जाहिर है, मुझे ऐसा करने के लिए बेसविलिएटर से उत्तराधिकारी होना चाहिए, लेकिन मैं तब से नहीं कर सकता क्योंकि मैं पहले से ही UserControl को विरासत में मिला हूं।

इस आम परिदृश्य से निपटने का एक तरीका बनना है।

+0

चेकआउट: [? कैसे मान्य करने के लिए UserControl] (http://izlooite.blogspot.com/2010/ 07/कैसे सत्यापित करें-उपयोगकर्ता के control.html) –

उत्तर

10

अपने नए उपयोगकर्ता नियंत्रण पर एक संपत्ति बनाएं जो निहित सत्यापनकर्ता पर सत्यापन समूह सेट करता है। फिर अपने मार्कअप से, आपको बस इतना करना है कि नियंत्रण पर ValidationGroup प्रॉपर्टी सेट करें, और यह उपयोगकर्ता नियंत्रण में निहित वैधकर्ताओं को रोल करेगा। आपको बेसविडिएटर से इंटरफ़ेस या विरासत की आवश्यकता नहीं है जबतक कि आप केवल एक सत्यापन उपयोगकर्ता नियंत्रण नहीं बना रहे हैं।

public string ValidationGroup 
{ 
    get 
    { 
     return MyRequiredFieldValidator.ValidationGroup; 
    } 
    set 
    { 
     MyRequiredFieldValidator.ValidationGroup = value; 
    } 
} 
3

अपने उपयोगकर्ता नियंत्रण वर्ग पर [ValidationProperty("NameOfPropertyToBeValidated") जोड़ने का प्रयास करें।

0

यदि आप भविष्य में बहुत से सत्यापन को जोड़ने की योजना बना रहे हैं तो यह पीटर ब्लम के DES (डेटा एंट्री सूट) को देखने के लिए भुगतान कर सकता है - इसमें डेटा प्रविष्टि और सत्यापन के लिए कई उन्नत नियंत्रण हैं जिनमें सशर्त सत्यापन परिदृश्य और एक आप वर्णन कर रहे हैं। लाइसेंसिंग स्वयं को विकसित करने के लिए आवश्यक समय की तुलना में बहुत उचित है।

13

आप डॉलर चिन्ह के साथ दो अलग से एक उपयोगकर्ता नियंत्रण के भीतर एक नियंत्रण देख सकते हैं:

<asp:RequiredFieldValidator ControlToValidate="MyUserControl$ControlId" runat="server" /> 
संबंधित मुद्दे