我在ASP.NET页面中使用CustomValidator将TextBox中的文本验证为日期时间。我只期待一种格式," MM / DD / YYYY HH:MM PM"。 TextBox通常期望由关联的DatePicker填充,但用户仍可以根据需要自由形成它。
下面有'代码,似乎工作。我希望看看是否有更好的JavaScript用于此目的。
function StartDateTimeValidate(source, args)
{
var d = Date.parse(args.Value);
if (isNaN(d))
{
args.IsValid = false;
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="StartDateCalendarTextBox" runat="server" Width="200"></asp:TextBox>
<asp:CustomValidator ID="StartDateCustomValidator" runat="server"
ErrorMessage="Bad Date"
ClientValidationFunction="StartDateTimeValidate"
ValidateEmptyText="false"
ControlToValidate="StartDateCalendarTextBox"
></asp:CustomValidator>
答案 0 :(得分:1)
内置的JavaScript Date对象基于一个非常有限的旧Java对象。
我遇到的许多项目都使用moment.js进行任何日期操作或验证。
如果你不想使用moment.js,你的isNaN()方法可能是最好的。否则你必须自己编写一些解析日期以验证日期。