2011-05-31 107 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(); 
相關問題