有没有办法禁用自动验证 模型被传递给Controller ......?
答案 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
注释等,并且不会验证模型。