这是我的代码
WebForm1.aspx: -
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="datetime.WebForm1" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<link type="text/css" href="Content/jquery-ui-1.7.1.custom.css" rel="stylesheet" />
<script src="Scripts/jquery-1.3.2.min.js" type="text/javascript"></script>
<script src="Scripts/jquery-ui-1.7.1.custom.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$("#txtDate").datepicker();
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="txtDate" runat="server"></asp:TextBox>
<%--<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="txtDate" ErrorMessage="enter valid date" SetFocusOnError="False" ValidationExpression="^([0]?[0-9]|[12][0-9]|[3][01])[./-]([0]?[1-9]|[1][0-2])[./-]([0-9]{4}|[0-9]{2})$"></asp:RegularExpressionValidator>--%>
<br />
<br />
<br />
</div>
</form>
</body>
</html>
&#13;
在上面的代码中我有一个文本框,当用户点击文本框时,它会打开日历选择日期。当用户不从日历中选择数据时,用户在文本字段上手动编写日期,如何验证用户输入的格式是否错误。当我使用regularrexpression日历没有显示但验证工作时,我尝试写了regularrexpression。
答案 0 :(得分:2)
如果您使用JQuery UI datepicker,我建议使用JQuery Validation而不是c#验证。以下应该工作
$("#txtDate").datepicker();
$("#txtDate").blur(function(){
val = $(this).val();
val1 = Date.parse(val);
if (isNaN(val1)==true && val!==''){
alert("error")
}
else{
console.log(val1);
}
});
在文本框旁边添加HTML
标记或其他内容,如果验证失败,请将消息设置为错误消息。比如<p id="myp"> </p>
,然后编辑上面的内容,如
if (isNaN(val1)==true && val!==''){
$("p#myp").text('Date is not valid');
}
答案只是指向正确方向的指针,您可以使用此技术自定义解决方案。