【问题标题】:What's the best way to implement field validation using ASP.NET MVC? [closed]使用 ASP.NET MVC 实现字段验证的最佳方法是什么? [关闭]
【发布时间】:2010-09-06 05:10:18
【问题描述】:

我正在使用 ASP.NET 构建一个公共网站,作为可交付成果的一部分,我需要创建一个管理站点来输入公共站点中显示的内容的数据,我想知道人们使用什么技术或程序来验证使用 ASP.NET MVC 的条目。

【问题讨论】:

    标签: c# asp.net-mvc validation


    【解决方案1】:

    看看JQuery Validation plugin 这个插件太棒了,它实现起来很干净,并且具有您可能需要的所有功能,包括通过 AJAX 进行远程验证。

    还可以找到一个示例 MVC 控制器方法here,它基本上使用 JsonResult 操作类型,如:

    public JsonResult CheckUserName(string username)
    {
        return Json(CheckValidUsername(username));
    }
    

    【讨论】:

    • 现在(使用 asp.net mvc2 preview 2+)jquery 验证与模型验证集成!
    【解决方案2】:

    IMO 将 xVal 与 jQuery 和 DataAnnotationsModelBinder 结合使用是最佳组合。

    但有时,有些验证规则无法在客户端完全检查,因此您需要使用远程客户端验证。

    我找到了使用 xVal / jQuery.validate 实现远程客户端验证的方法,以便

    • 验证规则仅保留在您的 ASP.NET MVC 模型中
    • 您只需编写每个验证规则一次,而且只能使用易于测试的 C# 代码。没有 JavaScript 或其他客户端对应物。
    • 无需分支或以其他方式修改 xVal 或 jquery.validate
    • 对于每个新的远程表单验证规则,您只需从本文中显示的基类派生。

    我为此写了blog article,描述了所有细节。

    【讨论】:

    • 我不知道你怎么没有得到更多的UPS。太棒了,谢谢!
    【解决方案3】:

    我最喜欢使用基于模型的属性执行客户端和服务器验证的方式。我写了一篇关于这个的短文并发布了源代码,基本上可以让你创建一个这样的类

    
    
    class User {
    
        [Required]
        public string Name{get;set;}
    
        [Email][Required]
        public string Email {get;set;}
    }
    
    

    将生成适当的 javascript 代码来执行客户端验证,服务器端验证运行器将验证您提交的表单。

    阅读here的帖子

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-13
      • 1970-01-01
      • 1970-01-01
      • 2011-11-10
      • 2011-08-25
      • 2012-10-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多