我需要验证网页上的日期/时间字段,但希望它无需重新加载页面即可完成此操作,并且希望为用户提供“即时”反馈。

最好/最简单的解决方案是什么。顺便提一句:最简单的分数占总分的65%

编辑:如果最好是总分的 65% 呢?

有帮助吗?

解决方案 10

看起来有一个关于 ASP.NET AJAX Control Toolkit 的精彩视频提供了 MaskedEdit 控件和 MaskedEditValidator 控件,效果非常好。对于初学者来说并不容易,但反馈非常好且即时。

不过还是感谢所有的答案!

ASP.NET

不幸的是我不能接受这个答案.

其他提示

如果您想使用 JavaScript,那么它具有内置的日期验证功能。但是,如果您不想采用 JavaScript 路线,则可以将 UI 更改为下拉控件,这将限制用户输入无效数据的能力。您仍然需要检查服务器端以确保没有人在 2 月 30 日提交。

看看这个 JavaScript 日期验证 功能。

它使用 JavaScript、正则表达式和文本输入的“onblur”事件。

@大卫·H.澳大利亚

使用 onblur 进行验证是有问题的,因为有些人使用回车键而不是鼠标来提交表单。结合使用 onblur 和表单的 onsubmit 事件可能是更好的解决方案。当我更多地对表单进行 JS 验证时,我会针对 keyup 事件运行。这为用户提供了关于其输入是否正确的即时反馈。您还可以(我也这样做了)进行检查,以便用户在离开该字段之前不会收到“不正确”的消息(因为如果他们没有完成,您不应该告诉他们他们是不正确的然而)。

我建议使用日期下拉菜单,如上所述。我真的想不出有什么理由不这样做——你希望用户从预定义的数据中进行选择,而不是给你一些你无法预料的独特的东西。

您可以使用一点 Javascript 来避免 2 月 30 日(使日期字段根据月份动态填充)。

@布莱恩·沃肖
您提出的这一点非常好,不要忘记通过键盘导航的用户(呃,我)。

感谢您引起我们的注意。

一个简单的 javascript 方法,读取提交时输入字段中的内容并验证它。如果无效,则返回 false,以便表单不会提交到服务器。

... onSubmit="return validateForm();" ...

确保您也在服务器端进行验证,很容易绕过 JavaScript 验证。

如果您使用的是 ASP.NET,它具有验证器控件,您可以将其指向文本框,然后使用该文本框来验证正确的日期/时间格式。

以太坊中有一些可用的日期小部件。然后您可以只允许有效的输入。

我在几个项目中使用过这一小段 js 代码,它可以与其他一些项目一起快速轻松地进行更新。

关联

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top