2012-02-21 7 views
9

मान्य करने के लिए सत्यापनकर्ता की तुलना करें जैसा कि आप सभी जानते हैं कि तुलनाकर्ताओं की तुलना दिनांकों को सत्यापित करने के लिए और ऑपरेटर प्रकार (<, < =,> = आदि) के आधार पर जांचने के लिए किया जा सकता है। मैंने दिनांक रखने वाले दो टेक्स्टबॉक्स नियंत्रणों को सत्यापित करने के लिए cultureinvariantvalues="true" प्रॉपर्टी सेट की है। मुझे उन्हें इस तरह बाध्य करना है कि प्रारंभ तिथि समाप्ति तिथि से पहले होनी चाहिए।Asp.net दिनांक

StartDate: Tuesday, 21 February 2012 

FinishDate: Wednesday, 22 February 2012 

हालांकि 22 वीं 21 वीं सत्यापन विफल हो जाता से बड़ा है: मान्यता जब मैं नीचे की तरह एक वर्णनात्मक तारीख टाइप असफल रहा है। मैं जिस मार्कअप का उपयोग करता हूं वह नीचे है। किसी भी कारण से आप जानकारी को फ़ॉर्मेट की जरूरत के लिए, यहाँ यह dddd, dd MMMM yyyy

<asp:CompareValidator id="cvtxtStartDate" runat="server" 
     controltocompare="txtFinishDate" 
     cultureinvariantvalues="true" 
     display="Dynamic" 
     enableclientscript="true" 
     controltovalidate="txtStartDate" 
     errormessage="Start date must be earlier than finish date" 
     type="Date" 
     setfocusonerror="true" 
     operator="LessThanEqual" 
     text="Start date must be earlier than finish date"> 
+0

हे सत्यापनकर्ता तुलना उपयोग करना चाहते हैं तो आप एक का उपयोग कर रहे हैं दो बक्सें के लिए सत्यापनकर्ता तुलना? – JayOnDotNet

+0

@JayaPrakashRokkam Yup यह पर्याप्त है। किसी भी तरह से सत्यापन होगा – Deeptechtons

उत्तर

27

इस दृष्टिकोण की कोशिश करो, सबसे पहले आरंभ तिथि दर्ज करें और सत्यापनकर्ता तुलना करें समाप्ति तिथि पाठ बॉक्स के साथ की जाँच करें:

<asp:CompareValidator id="cvtxtStartDate" runat="server" 
    ControlToCompare="txtStartDate" cultureinvariantvalues="true" 
    display="Dynamic" enableclientscript="true" 
    ControlToValidate="txtFinishDate" 
    ErrorMessage="Start date must be earlier than finish date" 
    type="Date" setfocusonerror="true" Operator="GreaterThanEqual" 
    text="Start date must be earlier than finish date"></asp:CompareValidator> 
+2

+1 की केवल तारीखों का समर्थन करते हैं या नहीं। यदि मेरे पास एक और खाता है, तो सादगी के लिए +1। बहुत बढ़िया। –

0

कोशिश कस्टम सत्यापनकर्ता और onservervalidate घटना में पीछे कोड में दिनांक समय के लिए पाठ परिवर्तित और फिर तुलना करते हैं।

protected void DateTimeComparision_ServerValidate(object source, ServerValidateEventArgs args) 
    { 
     args.IsValid = Convert.ToDateTime(txtStartDate.Text) < Convert.ToDateTime(txtFinishDate.Text); 
    } 
+0

कस्टम सत्यापनकर्ता मेरा अंतिम उपाय है। मुझे पता है कि इन सभी वैधताओं का उपयोग कैसे करें, मैं सिर्फ यह जानना चाहता था कि तुलनात्मक वैधता सर्वोत्तम समाधान के लिए प्रारूप 'एम/डी/वाई' – Deeptechtons

4

= सत्यापनकर्ता प्रकार है की तुलना date.But कि दिनांक प्रकार स्वीकार करने के लिए विवश है तारीख का केवल विशेष प्रारूप अर्थात ToShortDateString()। यदि तुलना करने के लिए दो टेक्स्टबॉक्सों का दिनांक प्रारूप किसी अन्य प्रारूप में है जैसे ToLongDateString() या ToString ("डीडी एमएमएमएम, yyyy" द्वारा निर्दिष्ट कुछ प्रारूप) तुलना काम नहीं करती है। कस्टम वैलिडेटर आइसोनली विकल्प। आप उसके बाद ही

textstartdate.text=Calendar1.SelectedDate.ToShortDateString(); 
textfinishdate=Calendar2.SelectedDate.ToShortDateString(); 
<asp:CompareValidator ID="CompareValidator4" runat="server" 
        ControlToCompare="textstartdate" ControlToValidate="textfinishdate" 
        CultureInvariantValues="True" 
        ErrorMessage="Date should be greater than booking date." 
        Operator="GreaterThanEqual" SetFocusOnError="True" Type="Date"></asp:CompareValidator> 
0
function FromAndToDateValidate() { 
try { 
    var StartDate = new Date(); 
    StartDate = $("#dtpFromDate").val(); 

    var EndDate = new Date(); 
    EndDate = $("#dtpToDate").val(); 
    args.IsValid = (StartDate <= EndDate); 
} 
catch (ex) { 
    alert(ex); 
} 
} 
संबंधित मुद्दे