2011-02-23 13 views
5

में ड्रॉप डाउन सूची के लिए वैलिडेटर मेरे पास एक ड्रॉप डाउन सूची है जिसे मैं सर्वर से लोड कर रहा हूं।asp.net

<asp:DropDownList ID="ddlOne" runat="server" CssClass="dropDrownClass" Width="80%"> 

सर्वर साइड में स्थित ड्रॉप डाउन लोड करने के बाद मैं

द्वारा जोड़ा जा रहा - कृपया चुनें -

मैं सुनिश्चित करना चाहते हैं कि यह है कि अगर से चयन किया जाता है मैं करूंगा त्रुटि संदेश प्रदर्शित करें। इसके लिए मैंने

<asp:CompareValidator ID="CompareValidator1" runat="server" 
          ControlToValidate="ddlOne" ValueToCompare="-- Please Select --" Operator="Equal" Type="String" ErrorMessage="CompareValidator"></asp:CompareValidator> 
         <asp:ValidatorCalloutExtender ID="ValidatorCalloutExtender1" TargetControlID="CompareValidator1" runat="server"> 
         </asp:ValidatorCalloutExtender> 

लेकिन जब भी मैं ड्रॉप डाउन सूची में कुछ भी चुन रहा हूं तो यह मुझे त्रुटि संदेश दिखा रहा है। और जब मैं

<asp:CompareValidator ID="CompareValidator1" runat="server" 
          ControlToValidate="ddlOne" ValueToCompare="0" Operator="Equal" Type="Integer" ErrorMessage="CompareValidator"></asp:CompareValidator> 

मैं, हर चयन पर त्रुटि संदेश मिल रहा है पहला है जो सिवाय करने सत्यापनकर्ता बदल गया है - कृपया चुनें -।

कृपया मुझे पता ड्रॉपडाउन सूची की मुट्ठी आइटम मान्य करने के लिए कैसे करते हैं

अंक 2

मैं ड्रॉपडाउन सूची [जो त्रुटि "Carson63000" लाल रंग में दिखाया जा रहा है के तहत दोहरी संदेश, एक हो रही है ] और एक पॉप अप के रूप में [वैधकर्ता कॉल आउट]। वही संदेश मैं चाहता हूं कि केवल वैध कॉलआउट को संदेश प्रदर्शित करना चाहिए।

उत्तर

11

आपका सत्यापनकर्ता लटकती के चयनित आइटम, नहीं पाठ की मूल्य की तुलना करेंगे। "कृपया चुनें" आइटम के मूल्य के लिए अक्सर खाली स्ट्रिंग रखने का सबसे आसान तरीका है, अन्य वस्तुओं के लिए एक खाली मूल्य है, और उसके बाद बस RequiredFieldValidator का उपयोग करें।

साथ ही, ValueToCompare="-- Please Select --" के साथ एक CompareValidator और Operator="Equal" का अर्थ है: लटकती का मूल्य की जाँच करें, और मान्य है कि यह बराबर है "- कृपया चुनें -"; यदि नहीं, तो त्रुटि प्रदर्शित करें। जो आपको चाहिए उसकी सटीक विपरीतता है - यदि आप CompareValidator का उपयोग करने का दृष्टिकोण लेना चाहते हैं तो आप ऑपरेटर को Operator="NotEqual" पर बदलना चाहते हैं।

+0

यह ठीक काम कर रहा है। धन्यवाद। लेकिन मुझे दोहरी संदेश मिल रहा है। कॉलआउट विस्तारक और ड्रॉपडाउन सूची में से एक। मैं केवल एक बार संदेश प्रदर्शित करना चाहता हूं। – Chris

+1

@ क्रिस, मुझे डर है कि मैंने कभी भी ValidatorCalloutExtender का उपयोग नहीं किया है। यह एक एएसपी.NET AJAX बात है, है ना? क्या आपने तुलनात्मकता में 'प्रदर्शन =" कोई नहीं "जोड़ने का प्रयास किया है? – Carson63000

+0

ध्यान दें कि यदि तुलना करने के लिए मूल्य एक खाली स्ट्रिंग था तो आपको एक आवश्यक फ़ील्ड सत्यापनकर्ता का उपयोग करना होगा (http://msdn.microsoft.com/en-us/library/db330ayw(v=vs.71).aspx देखें) –

0

बदलें ऑपरेटर मूल्य:

<asp:CompareValidator ID="CompareValidator1" runat="server" 
    ControlToValidate="ddlOne" ValueToCompare="0" Operator="NotEqual" 
    Type="Integer" ErrorMessage="CompareValidator" />