繁体   English   中英

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

[英]How to validate date format in textbox using ASP.NET c#?

这是我的代码

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> 

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

如果您使用JQuery UI datepicker,则建议使用JQuery验证而不是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');
            }

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM