簡體   English   中英

我如何使用Jquery在C#中驗證日期范圍

[英]How could I validate the date range in C# using Jquery

我的fromdatepicker1和todatepicker2。 我想驗證兩者的日期范圍。 並且它將始終是fromdate為<todate。 而我的日期格式是dd / mm / yy,我應該如何在Jquery中編寫它?

這是我的起始日期文本框

<asp:RequiredFieldValidator ControlToValidate="txtFromDateBank" 
                        ID="RequiredFieldValidator9" runat="server" Display="Dynamic" 
                        ErrorMessage="asdf" SetFocusOnError="true" InitialValue="" 
                        EnableClientScript="true" Font-Italic="True" Font-Size="Smaller" 
                        ForeColor="Red" ValidationGroup="AddBankDetails">Please specify date</asp:RequiredFieldValidator>
                </div>

這是我迄今為止的文本框

<asp:TextBox ID="txtToDateBank" runat="server"  class="datepicker"></asp:TextBox>

使用CustomeValidator控件並將ClientValidationFunction屬性設置為javascript / jquery函數。 js函數可能看起來像這樣-

<script language="JavaScript">
<!--
function CheckDate(sender, args)
{
    var strDate = $(fromdatetextbox).val();
    var dateParts = strDate.split("/"); 
    var fromdate = new Date(dateParts[2], (dateParts[1] - 1), dateParts[0]);

    strDate = $(todatetextbox).val();
    dateParts = strDate.split("/"); 
    todate = new Date(dateParts[2], (dateParts[1] - 1), dateParts[0]);

    if(fromdate > todate)
        args.IsValid = false;
    else
        args.IsValid = true;
}
// -->
</script>

您可以在此鏈接中了解有關customvalidator的更多信息http://www.4guysfromrolla.com/articles/073102-1.aspx

更新資料

完整的代碼如下所示

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs"   Inherits="Default2" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript">
    <!--
    function CheckDate(sender, args) {
        var strDate = $('#<%= textBoxFromDate.ClientID %>').val();
        var dateParts = strDate.split("/");
        var fromdate = new Date(dateParts[2], (dateParts[1] - 1), dateParts[0]);

        strDate = $('#<%= textBoxToDate.ClientID %>').val();
        dateParts = strDate.split("/");
        todate = new Date(dateParts[2], (dateParts[1] - 1), dateParts[0]);

        if (fromdate > todate)
            args.IsValid = false;
        else
            args.IsValid = true;
    }
    // -->
    </script>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:TextBox ID="textBoxFromDate" runat="server" Text=""></asp:TextBox>
            <asp:CustomValidator ID="CustomValidator1" runat="server" ErrorMessage="CustomValidator"
            ControlToValidate="textBoxFromDate" ClientValidationFunction="CheckDate"></asp:CustomValidator>
            <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="RequiredFieldValidator"
            ControlToValidate="textBoxFromDate"></asp:RequiredFieldValidator>


            <asp:TextBox ID="textBoxToDate" runat="server" Text=""></asp:TextBox>
            <asp:CustomValidator ID="CustomValidator2" runat="server" ErrorMessage="CustomValidator"
            ControlToValidate="textBoxToDate" ClientValidationFunction="CheckDate"></asp:CustomValidator>
            <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ErrorMessage="RequiredFieldValidator"
            ControlToValidate="textBoxToDate"></asp:RequiredFieldValidator>
        </div>
    </form>
</body>
</html>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM