2011-05-31 114 views

回答

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()); 

这个怎么样?

+1

这是一个方式吧。但是如果我这样做,我就会失去它。对 ?我已经用一个自定义的ModelBinder完成了,所以我可以决定它在哪里工作。 – dknaack 2011-06-01 07:01:48

+0

如何从GetValidators中获取Action信息? – Eduardo 2011-06-18 17:38:46

+0

你把你在下面写的代码放在哪里? – ejmtv 2017-06-30 06:34:47

3

考虑,而不是调用清除Modelstate字典中的控制器动作:

Modelstate.Clear(); 
相关问题