Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 什么';使用ASP.NET MVC实现字段验证的最佳方法是什么?_C#_Asp.net Mvc_Validation - Fatal编程技术网

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

C# 什么';使用ASP.NET MVC实现字段验证的最佳方法是什么?,c#,asp.net-mvc,validation,C#,Asp.net Mvc,Validation,我正在使用ASP.NET建立一个公共网站,作为交付成果的一部分,我需要做一个管理站点来输入公共站点中显示的内容的数据,我想知道人们使用什么技术或程序来验证ASP.NET MVC中的条目。看看这个插件是多么神奇,它的实现非常简洁,具有您可能需要的所有功能,包括通过AJAX进行远程验证 还可以找到一个示例MVC控制器方法,它基本上使用JsonResult操作类型,如: public JsonResult CheckUserName(string username) { return Json

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

看看这个插件是多么神奇,它的实现非常简洁,具有您可能需要的所有功能,包括通过AJAX进行远程验证

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

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

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



class User {

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

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

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


在IMO上阅读文章,使用xVal和jQuery以及DataAnnotationsModelBinder是最好的组合

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

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

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

我在上面写了一篇文章,描述了所有的细节

现在(使用asp.net mvc2 preview 2+)jquery验证与模型验证集成在一起了!我不知道你怎么没有得到更多的ups。这太棒了,谢谢你!