自定义验证属性顺序

本文关键字:顺序 属性 验证 自定义 | 更新日期: 2023-09-27 18:12:14

是否有一种方法可以设置自定义验证属性的执行顺序?我有2个不同的自定义电子邮件属性,一个用于电子邮件地址,另一个用于确保电子邮件地址在活动目录中。我希望我的常规电子邮件验证是第一个,然后是Active Directory验证。

自定义验证属性顺序

一般情况

如我如何指定DataAnnotation ValidationAttribute的顺序中所述?

指定顺序的唯一方法是创建您自己的顺序ModelValidatorProvider,它可以对属性进行排序。这将这可能很棘手,因为您还需要为每个接受Order参数的属性(不知道它们是否

但是在你的情况下

您可以创建您的自定义电子邮件属性,首先检查作为电子邮件地址的有效性,然后检查是否存在于活动目录。并且不需要其他电子邮件验证属性。

由于EmailAddressAttribute是密封的,您不能从它继承,相反,您可以使用该类的源代码来更改和创建您自己的属性:

  • EmailAddressAttribute.cs