使用ASP.NET MVC实现字段验证的最佳方法是什么?

45

我正在使用ASP.NET构建一个公共网站,作为交付成果的一部分,我需要为显示在公共网站中的内容做一个管理站点以进行数据输入。我想知道人们在使用ASP.NET MVC进行条目验证时都采用了哪些技术或过程。

3个回答

26

看看JQuery Validation插件,这个插件非常棒,容易实现,并且具备所有您所需的功能,包括通过AJAX进行远程验证。

此外,可以在这里找到一个示例MVC控制器方法,它基本上使用JsonResult操作类型,如下所示:

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

3
现在(使用 asp.net mvc2 预览版 2+),jQuery 验证已与模型验证集成! - Victor Rodrigues

6

在编程方面,我认为使用xVal与jQuery和DataAnnotationsModelBinder是最佳组合。

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

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

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

我写了一篇博客文章详细描述了所有细节。


我不知道为什么你没有得到更多的赞。这太棒了,谢谢! - Jim Mitchener

1

我最喜欢的方法是使用基于模型的属性来执行客户端和服务器端验证。我写了一篇简短的文章,并发布了源代码,这将基本上允许您创建像这样的类:



class User {

    [Required]
    public string Name{get;set;}

    [Email][Required]
    public string Email {get;set;}
}

适当的JavaScript代码将被生成以执行客户端验证,同时服务器端验证运行程序将验证您提交的表单。

这里阅读文章


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接