Asp.NET MVC 3 ModelBinding验证

时间:2011-05-24 12:36:12

标签: asp.net asp.net-mvc asp.net-mvc-3

有没有办法禁用自动验证 模型被传递给Controller ......?

2 个答案:

答案 0 :(得分:2)

ModelValidatorProviderCollection允许您控制应用程序将使用哪种验证提供程序。默认情况下,我认为它使用DataAnnotationsModelValidatorProvider

您可以尝试在应用程序启动时清除集合 - 我从未尝试过,但我想这会禁用您的验证。

protected void Application_Start()
{
    // Other startup code...

    ModelValidatorProviders.Providers.Clear();
}

答案 1 :(得分:0)

绑定模型仅在[MVC3]框中验证(客户端)。当您构建视图时,如果您保留“参考脚本库”,则会将 jquery.validate.min.js jquery.validate.unobtrusive.min.js 添加到视图中“勾选复选框。这将产生一些客户端方验证。

如果删除对这些脚本的引用,除非您访问,否则验证不会在服务器端(在您的控制器中)完成:

ModelState.IsValid

您可以拥有[Required]个属性,自己的自定义ValidationAttribute注释等,并且不会验证模型。