【发布时间】:2014-04-30 06:45:09
【问题描述】:
我是 jQuery 新手。我正在使用 jQuery 版本 1.8.3。在我的 ASP.NET Web 应用程序中,我使用 jQuery 验证引擎来验证日期。我正在动态创建 HTML 文本输入,它允许用户仅以 dd/mm/yyyy 格式输入日期,在这里我将过去和未来的验证器分配给 texbox。我想通过使用过去和未来的验证器来验证 dd/mm/yyyy 格式的日期,这样用户应该只允许输入给定过去和未来的值之间的日期。如果用户输入超出给定限制的日期,它也应该以 dd/mm/yyyy 格式在消息中显示日期。
但是发生了什么;过去和未来的日期验证器仅在我以 yyyy-mm-dd 格式传递日期并且我必须以 yyyy-mm-dd 格式在文本框中输入日期时进行验证。
欢迎大家发表意见
我到现在尝试如下:
HtmlGenericControl l_oHGC = new HtmlGenericControl("div");
divCustomFields.Controls.Add(l_oHGC);
TextBox l_oTXT = new TextBox();
l_oHGC.Controls.Add(l_oTXT);
l_oTXT.Text = Convert.ToDateTime("Apr 16 2014 12:00AM").ToString(gc.APP_DATEFORMAT_DD_MM_YYYY);
l_oTXT.MaxLength = 10;
l_oTXT.CssClass = "calender validate[custom[date],past[" + Convert.ToDateTime("Dec 31 2050 12:00AM").ToString(gc.APP_DATEFORMAT_DD_MM_YYYY) + "],future[" + Convert.ToDateTime("Apr 26 2014 12:00AM").ToString(gc.APP_DATEFORMAT_DD_MM_YYYY) + "]]";
在 jquery.validationEngine-en.js 中我做了以下更改
"past": {
"regex": /^(0?[1-9]|[12][0-9]|3[01])[\/\-](0?[1-9]|1[012])[\/\-]\d{4}$/,
"alertText": "* Date prior to "
},
"future": {
"regex": /^(0?[1-9]|[12][0-9]|3[01])[\/\-](0?[1-9]|1[012])[\/\-]\d{4}$/,
"alertText": "* Date past "
},
"date": {
"regex": /^(0?[1-9]|[12][0-9]|3[01])[\/\-](0?[1-9]|1[012])[\/\-]\d{4}$/,
"alertText": "* Invalid date, must be in DD/MM/YYYY format"
},
【问题讨论】:
标签: jquery validation date jquery-validation-engine