如上所述,我想为特定的Controller / Action禁用自动ModelState验证。
这可能吗?
答案 0 :(得分:3)
考虑通过调用:
清除控制器操作中的Modelstate
字典
Modelstate.Clear();
答案 1 :(得分:2)
我认为这是可能的。创建自定义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());
这个怎么样?