如何使用ASP.NET c#在文本框中验证日期格式?

时间:2016-07-25 10:03:50

标签: c# jquery asp.net

这是我的代码

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>
    &nbsp;&nbsp;&nbsp;
        <%--<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;
&#13;
&#13;

在上面的代码中我有一个文本框,当用户点击文本框时,它会打开日历选择日期。当用户不从日历中选择数据时,用户在文本字段上手动编写日期,如何验证用户输入的格式是否错误。当我使用regularrexpression日历没有显示但验证工作时,我尝试写了regularrexpression。

1 个答案:

答案 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');
            }

答案只是指向正确方向的指针,您可以使用此技术自定义解决方案。