Javascript 出生日期、加入日期和离开日期的验证
我有三个关于生日、加入日期和离开日期的文本框 我要确保的是: 加入日期和离开日期不应大于出生日期 离开日期不应大于加入日期和出生日期。 我想在输入错误条目时抛出一个错误 我使用DatePicker从用户那里获取日期输入 以下是我正在使用的JS代码:-Javascript 出生日期、加入日期和离开日期的验证,javascript,c#,jquery,asp.net,Javascript,C#,Jquery,Asp.net,我有三个关于生日、加入日期和离开日期的文本框 我要确保的是: 加入日期和离开日期不应大于出生日期 离开日期不应大于加入日期和出生日期。 我想在输入错误条目时抛出一个错误 我使用DatePicker从用户那里获取日期输入 以下是我正在使用的JS代码:- $(function () { $("[id$=mainContent_txtdateofbirth], [id$=mainContent_txtdoj], [id$=mainContent_txtdol]").datepicker({
$(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验证一个日期是在另一个日期之前还是之后。如果您还需要关于如何在按钮单击中执行此操作的帮助,我会在您的问题中指定我提到的,我希望在按钮单击中使用它添加有关如何连接按钮单击的更多信息。所有的部分都在我的答案中,我会让你把它们组合成工作代码。我知道如何在点击按钮时编写,但这里的主要部分是验证,我没有。