在《ASP.NET MVC以ModelValidator为核心的Model验证体系: ModelValidator》中我们介绍了ASP.NET MVC用于Model验证的四种ModelValidator,那么这些ModelValidator是如何被创建的呢?ASP.NET MVC的很多组件(比如ModelBinder和Filter)都采用了基于Provider的提供机制,这篇文章为你讲述这些ModelValidator对应的ModelValidatorProvider。[本文已经同步到《How ASP.NET MVC Works?》中]

目录
一、ModelValidatorProvider
二、DataAnnotationsModelValidator
三、ClientDataTypeModelValidatorProvider
四、DataErrorInfoModelValidatorProvider

我们通过注册ModelValidatorProvider来创建相应的ModelValidator,所有的ModelValidatorProvider直接或者间接地继承类型ModelValidatorProvider。如下面的代码片断所示,ModelValidator的提供实现在抽象方法GetValidators种,返回的是一个ModelValidator集合。

class ModelValidatorProvider
   2: {  
abstract IEnumerable<ModelValidator> GetValidators(ModelMetadata metadata, ModelBindingExecutionContext context);
   4: }

相关文章:

  • 2021-11-07
  • 2021-06-07
  • 2022-01-15
  • 2021-09-06
  • 2022-12-23
猜你喜欢
  • 2021-09-07
  • 2021-12-23
  • 2021-11-06
  • 2021-05-26
  • 2021-11-08
  • 2022-03-06
相关资源
相似解决方案