验证日期和时间的最佳方法是什么

时间:2009-08-12 14:32:43

标签: jquery asp.net-mvc

在我的asp.net mvc程序中,用户将在一个字段中输入日期,在另一个字段中输入时间。时间将为24小时模式,因此用户可以输入00:00 - 23:59,日期应该是典型的mm / dd / yyyy。

有了可用于验证输入的所有不同选项,例如客户端的javascript / jquery / masked输入或mvc控制器中的c#,我发现很难找出哪种方式最好。

有没有人对此提出建议或建议?

5 个答案:

答案 0 :(得分:9)

始终,始终是服务器端。客户端验证是一个很好的选择。

请记住,客户端验证通行证并不代表使用简单的嗅探器/注入工具到达服务器端的实际数据。

答案 1 :(得分:3)

同时使用!客户端和服务器验证非常容易实现。

  • 客户端验证可以改善用户体验。没有人喜欢等待完成的回发告诉他们“我们的服务器不像你那个外国人那样做日期”。

  • 服务器端验证可保护您的系统。没有服务器希望从精心设计的请求中进行SQL注入攻击。但是,请不要将此用于用户体验。这纯粹是为了保护您的系统并为禁用javascript的用户提供支持( - 公平地说,他们关心用户体验是什么样的。)

有一些可爱的客户端库让它变得非常容易。我最喜欢的是jquery validation plugin,但http://www.livevalidation.com/也很不错。

答案 2 :(得分:1)

我建议使用验证框架,例如xVal for MVC 1或内置支持DataCnnotations for MVC 2.这将以一种始终一致的方式为您生成服务器和客户端验证。

答案 3 :(得分:0)

如果您使用的是数据库,则应使用参数化查询或存储过程来确保数据验证。这也将帮助您进行潜在的SQL注入。

您应该在两端进行验证,但无论您在客户端上执行什么操作,都必须在服务器上进行验证。客户端验证只是一个“很好”,有助于用户交互和流程。

答案 4 :(得分:0)

两者都强调服务器端。有时人们会阻止javascript或先前的错误不会让验证脚本运行。

在服务器上执行DateTime.Parse或更好的DateTime.TryParse。