【问题标题】:ASP.NET MVC Client Side ValidationASP.NET MVC 客户端验证
【发布时间】:2010-09-14 06:15:07
【问题描述】:

我一直在使用 ASP.NET MVC,但我希望改进的领域之一是客户端验证。

我知道最新版本(预览版 5)有很多新的验证功能,但它们似乎都是在页面发布之后。

我看过Steve Sanderson... 的一篇有趣的文章,它使用实时验证、Castle.Components.Validator.dll 和他制作的验证器框架。

我在我的项目中使用过它,但我希望它能够集成到官方的 ASP.NET MVC 版本中。我绝对认为业务规则应该驻留在模型或控制器而不是视图中。

你们中有人用过类似的方法吗?

你知道这样的东西正在被添加到官方 ASP.NET MVC 版本中吗?

【问题讨论】:

  • 这是对上一个问题的精确转发。

标签: javascript asp.net-mvc validation client-side


【解决方案1】:

“很明显,对于一小部分禁用 javascript 的用户,您仍然需要在服务器端验证您的输入。”

只是对此评论的更新。服务器端验证与禁用 JavaScript 的用户无关。相反,出于安全原因需要它,并进行无法在客户端上完成的复杂验证。表单应始终具有服务器端验证。客户端验证只是为了方便。

恶意用户可以轻松地将数据发布到您的表单,而绕过您已进行的任何客户端验证。 永远不要相信输入数据!

【讨论】:

    【解决方案2】:

    我同意其他发帖者的观点,客户端验证完全是为了改善用户体验。

    查看JQuery Validation 插件。开始基本验证非常容易——实际上是一行 JS 加上向输入控件添加类名。它也非常强大。你可以扩展做任何你想做的事情。

    【讨论】:

      【解决方案3】:

      LiveValidation 是另一个有用的 JavaScript 库,可以提供帮助。在此处查看示例(使用 ASP.NET MVC):

      http://blog.codeville.net/2008/09/08/thoughts-on-validation-in-aspnet-mvc-applications/

      【讨论】:

        【解决方案4】:

        看起来这个领域将在 ASP.NET MVC 2 中看到很多改进

        http://weblogs.asp.net/scottgu/archive/2009/07/31/asp-net-mvc-v2-preview-1-released.aspx

        【讨论】:

          【解决方案5】:

          看看this blog article。介绍了如何使用xVal自动生成客户端验证规则,以及如何自动实现远程客户端验证。

          【讨论】:

            猜你喜欢
            • 2014-07-21
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-12-12
            • 2011-02-08
            • 1970-01-01
            相关资源
            最近更新 更多