通过前面的介绍我们知道ModelValidatorProviders的静态只读Providers维护着一个全局的ModelValidatorProvider列表,最终用于Model验证的ModelValidator都是通过这些ModelValidatorProvider来提供的。对于该列表默认包含的三种ModelValidatorProvider来说,DataAnnotationsModelValidatorProvider无疑是最重要的,ASP.NET MVC默认提供的基于数据标注特性的声明式Model验证就是通过DataAnnotationsModelValidatorProvider提供的DataAnnotationsModelValidator来实现的。[本文已经同步到《How ASP.NET MVC Works?》中]

目录
一、ValidationAttribute特性
二、验证消息的定义
三、验证的执行
四、预定义ValidationAttribute
五、应用ValidationAttribute特性的唯一性

与通过数据标注特性定义Model元数据类似,我们可以在作为Model的数据类型及其属性上应用相应的标注特性来定义Model验证规则。所有的验证特性都直接或者间接继承自抽象类型System.ComponentModel.DataAnnotations.ValidationAttribute。如下面的代码片断所示,ValidationAttribute具有一个字符串类型的ErrorMessage属性用于指定验证错误消息。出于对本地化或者对错误消息单独维护的需要,我们可以采用资源文件的方式来保存错误消息,在这种情况下我们只需要通过ErrorMessageResourceName和ErrorMessageResourceType这两个属性指定错误消息所在资源项的名称和类型即可。

class ValidationAttribute : Attribute
   2: {     
string ErrorMessage { get; set; }
string ErrorMessageResourceName { get; set; }
public Type ErrorMessageResourceType { get; set; }
string ErrorMessageString {get;}  
   7:  
string name);
   9:  
value); 
value, ValidationContext validationContext)
  12:  
string name);
value, ValidationContext validationContext);
  15: }

相关文章:

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