如标题所述,我想为特定的Controller/Action禁用自动的ModelState验证。

那可能吗 ?

最佳答案

我认为这是可能的。创建自定义ModelValidatorProvider。

public class CustomModelValidatorProvider
             : DataAnnotationsModelValidatorProvider
{
    protected override IEnumerable<ModelValidator> GetValidators(
        ModelMetadata metadata,
        ControllerContext context,
        IEnumerable<Attribute> attributes)
    {
        return Enumerable.Empty<ModelValidator>();
    }
}

并在启动时设置此提供程序。
ModelValidatorProviders.Providers.Clear();
ModelValidatorProviders.Providers.Add(new CustomModelValidatorProvider());

这个怎么样?

关于asp.net-mvc - 如何禁用特定 Controller / Action 的自动ModelState验证?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6185829/

10-11 02:41
查看更多