Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 出生日期、加入日期和离开日期的验证_Javascript_C#_Jquery_Asp.net - Fatal编程技术网

Javascript 出生日期、加入日期和离开日期的验证

Javascript 出生日期、加入日期和离开日期的验证,javascript,c#,jquery,asp.net,Javascript,C#,Jquery,Asp.net,我有三个关于生日、加入日期和离开日期的文本框 我要确保的是: 加入日期和离开日期不应大于出生日期 离开日期不应大于加入日期和出生日期。 我想在输入错误条目时抛出一个错误 我使用DatePicker从用户那里获取日期输入 以下是我正在使用的JS代码:- $(function () { $("[id$=mainContent_txtdateofbirth], [id$=mainContent_txtdoj], [id$=mainContent_txtdol]").datepicker({

我有三个关于生日、加入日期和离开日期的文本框

我要确保的是:

加入日期和离开日期不应大于出生日期 离开日期不应大于加入日期和出生日期。 我想在输入错误条目时抛出一个错误

我使用DatePicker从用户那里获取日期输入

以下是我正在使用的JS代码:-

$(function () {
    $("[id$=mainContent_txtdateofbirth], [id$=mainContent_txtdoj], [id$=mainContent_txtdol]").datepicker({
        textboxImageOnly: true,
        textboxImage: 'images/calendar.png',
        changeMonth: true,
        changeYear: true,
        dateFormat: "yy / mm / dd",
        yearRange: "-40:+0",
        maxDate: new Date(),
    });
});
<asp:TextBox ID="txtdateofbirth" CssClass="form-control" runat="server" ValidationGroup="AddNew"></asp:TextBox>
<asp:TextBox ID="txtdoj" CssClass="form-control" runat="server" ValidationGroup="AddNew"></asp:TextBox>
<asp:TextBox ID="txtdol" CssClass="form-control" runat="server" ValidationGroup="AddNew"></asp:TextBox>
我正在使用的文本框代码:-

$(function () {
    $("[id$=mainContent_txtdateofbirth], [id$=mainContent_txtdoj], [id$=mainContent_txtdol]").datepicker({
        textboxImageOnly: true,
        textboxImage: 'images/calendar.png',
        changeMonth: true,
        changeYear: true,
        dateFormat: "yy / mm / dd",
        yearRange: "-40:+0",
        maxDate: new Date(),
    });
});
<asp:TextBox ID="txtdateofbirth" CssClass="form-control" runat="server" ValidationGroup="AddNew"></asp:TextBox>
<asp:TextBox ID="txtdoj" CssClass="form-control" runat="server" ValidationGroup="AddNew"></asp:TextBox>
<asp:TextBox ID="txtdol" CssClass="form-control" runat="server" ValidationGroup="AddNew"></asp:TextBox>
我从中得到了解决方案,但这不是我试图做的点击按钮

这是我的相关代码:-

tr>
    <td style="vertical-align: top;">
        <label class="control-label" for="dob">Date of Birth</label></td>
    <td>
        <div class="control-group">
            <div class="controls">
                <asp:TextBox ID="txtdateofbirth" CssClass="form-control" autocomplete="off" runat="server" ValidationGroup="AddNew"></asp:TextBox>
                <asp:RequiredFieldValidator ID="reqdob" runat="server" CssClass="error-class" ControlToValidate="txtdateofbirth" ErrorMessage="Please select the date of birth" ValidationGroup="AddNew"></asp:RequiredFieldValidator>
            </div>
        </div>
    </td>
</tr>
<tr>
    <td style="vertical-align: top;">
        <label class="control-label" for="subject">Date of Join</label></td>
    <td>
        <div class="control-group">
            <div class="controls">
                <asp:TextBox ID="txtdoj" Wrap="true" CssClass="form-control" autocomplete="off" runat="server" ValidationGroup="AddNew"></asp:TextBox>
                <asp:RequiredFieldValidator ID="reqdoj" CssClass="error-class" runat="server" ControlToValidate="txtdoj" ErrorMessage="Please add the date of joining" ValidationGroup="AddNew"></asp:RequiredFieldValidator>
            </div>
        </div>
    </td>
</tr>

<tr>
    <td style="vertical-align: top;">
        <label class="control-label" for="subject">Date of Leaving</label></td>
    <td>
        <div class="control-group">
            <div class="controls">
                <asp:TextBox ID="txtdol" CssClass="form-control" autocomplete="off" runat="server" ValidationGroup="AddNew"></asp:TextBox>
            </div>
        </div>
    </td>
</tr><asp:Button ID="btnSubmit" runat="server" CssClass="btn btn-prm" Text="Submit" Width="75" CausesValidation="true" ValidationGroup="AddNew" OnClick="btnSubmit_Click" />
请建议我如何根据上面列出的标准验证这些日期。

编辑2从您发布的评论来看,似乎要把所有的部分放在一起比我预期的要困难,因此以下是您需要做的事情,以获得您想要的结果:

在服务器端为您的按钮单击连接一个事件 在该函数中,将日期选择器的值分配给3个单独的变量 使用下面C的示例代码,将leavedate和joindate与birthdate进行比较,确定leavedate和joindate是发生在birthdate之前还是之后 继续您的应用程序执行的任何其他操作 编辑:这是另一篇关于如何连接按钮点击的文章。因此,如果你把所有的部分放在一起,你会得到你想要的结果,即通过点击按钮来验证日期

比较日期,尤其是以你想要的方式比较日期,相对来说比较简单

要使用C在服务器端执行此操作,下面是一篇文章和一个示例:

using System;

public class Example
{
   public static void Main()
   {
      DateTime date1 = new DateTime(2009, 8, 1, 0, 0, 0);
      DateTime date2 = new DateTime(2009, 8, 1, 12, 0, 0);
      int result = DateTime.Compare(date1, date2);
      string relationship;

      if (result < 0)
         relationship = "is earlier than";
      else if (result == 0)
         relationship = "is the same time as";         
      else
         relationship = "is later than";

      Console.WriteLine("{0} {1} {2}", date1, relationship, date2);
   }
}
// The example displays the following output: 
//    8/1/2009 12:00:00 AM is earlier than 8/1/2009 12:00:00 PM
var today, someday, text; today = new Date(); someday = new Date(); someday.setFullYear(2100, 0, 14);

if (someday > today) {
    text = "Today is before January 14, 2100."; } else {
    text = "Today is after January 14, 2100."; } document.getElementById("demo").innerHTML = text;
我从中进行了一些研究,并编写了以下代码:-

 $(function () {
      $("[id$=mainContent_txtdateofbirth]").datepicker({
          textboxImageOnly: true,
          textboxImage: 'images/calendar.png',
          changeMonth: true,
          changeYear: true,
          dateFormat: "dd / mm / yy",
          yearRange: "-40:+0",
          onSelect: function (selected) {
              $("#mainContent_txtdoj").datepicker("option", "minDate", selected)
              $("#mainContent_txtdol").datepicker("option", "minDate", selected)
          }
      });
      $("[id$=mainContent_txtdoj]").datepicker({
          textboxImageOnly: true,
          textboxImage: 'images/calendar.png',
          changeMonth: true,
          changeYear: true,
          dateFormat: "dd / mm / yy",
          yearRange: "-40:+0",
          onSelect: function (selected) {
              $("#mainContent_txtdateofbirth").datepicker("option", "maxDate", selected)
              $("#mainContent_txtdol").datepicker("option", "minDate", selected)
          }
      });

      $("[id$=mainContent_txtdol]").datepicker({
          textboxImageOnly: true,
          textboxImage: 'images/calendar.png',
          changeMonth: true,
          changeYear: true,
          dateFormat: "dd / mm / yy",
          yearRange: "-40:+0",
          onSelect: function (selected) {
              $("#mainContent_txtdateofbirth").datepicker("option", "maxDate", selected)
              $("#mainContent_txtdoj").datepicker("option", "maxDate", selected)
          }
      });
  });

这是另一种方式,但它的工作

我认为你的问题措词不好,请你的提问更加简洁。据我所知,您正在询问如何确定加入日期和离开日期是否早于出生日期的建议?这对吗?@笔名:对,对。基本上,如果日期输入不正确,我需要验证。您想确定此客户端还是服务器端?离开日期不应大于加入日期和出生日期-因此您想确保人们在加入之前和出生之前离开?@笔名:两者都将被接受,我希望在点击按钮时出现错误。它与我想要的内容无关,我希望它出现在asp.net中。我想按一下按钮。事实上,这与你所问的问题非常相关。上面的代码向您展示了如何使用C或Javascript验证一个日期是在另一个日期之前还是之后。如果您还需要关于如何在按钮单击中执行此操作的帮助,我会在您的问题中指定我提到的,我希望在按钮单击中使用它添加有关如何连接按钮单击的更多信息。所有的部分都在我的答案中,我会让你把它们组合成工作代码。我知道如何在点击按钮时编写,但这里的主要部分是验证,我没有。