Asp.net compare validator to validate date

后端 未结 4 632
南方客
南方客 2021-01-04 11:36

As you all know Compare validators can be used to validate dates and check based on operator type (<, <= , >= etc). I have set the cultureinvariantvalues=\"true\

相关标签:
4条回答
  • 2021-01-04 12:15

    Compare validator has the type=date.But that date type is constrained to accept only particular format of date i.e ToShortDateString(). If the date format of the two textboxes to be compared is in some other format like ToLongDateString() or some format specified by ToString("dd MMMM,yyyy") the comparision does not work. CustomValidator isonly option. If you want to use compare validator only then

    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 讨论(0)
  • 2021-01-04 12:20
    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);
    }
    }
    
    0 讨论(0)
  • 2021-01-04 12:23

    Try this approach, First Enter the Start Date and Check the Compare Validator with the End Date textbox:

    <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>
    
    0 讨论(0)
  • 2021-01-04 12:26

    Try custom Validator and at the code behind at onservervalidate event convert the text to DateTime and then do the comparision.

    protected void DateTimeComparision_ServerValidate(object source, ServerValidateEventArgs args)
        {
            args.IsValid = Convert.ToDateTime(txtStartDate.Text) < Convert.ToDateTime(txtFinishDate.Text);
        }
    
    0 讨论(0)
提交回复
热议问题