【发布时间】:2012-05-16 03:19:52
【问题描述】:
我正在使用 asp.net ajax 工具包 maskeditextender 来屏蔽用于日期输入的文本框。但是,问题是,我无法验证他们正确输入的日期。如果我关闭自动完成掩码并且他们输入 7 斜线 6 斜线 88 它将填写“07/06/88”,这很有趣,它不是有效日期。如果我自动完成掩码,它应该自动完成到“07/06/1988”,但它会自动完成到“07/06/0088”,即使我将世纪设置为 1900...
有什么建议吗?
我的解决方案:
所以,自动完成很糟糕。您可能必须编写一些 JS 将 19 放在 YY 前面,因为它只是附加 00。所以您会得到“07/06/0088”...
正如回答者建议的那样,我关闭了自动完成功能,但它仍然无法正确验证日期。我正在对日期数据类型使用比较验证器。但事实证明,它需要一种非常具体的格式:
“1988 年 7 月 6 日”
没有别的。因此,我编写了一个自定义验证器,将零填充到月份和日期,并将 19 填充到年份。此外,当我使用 txt 框的值时,我必须复制相同的修复程序才能将其转换为 datetime 而不会引发异常。
【问题讨论】:
-
发布您的代码会很有帮助,以便其他人可以看到您所做的工作并了解其工作原理。
标签: asp.net .net-2.0 ajaxcontroltoolkit