Пользовательский порядок проверки атрибутов C# MVC4

Есть ли способ установить порядок выполнения пользовательских атрибутов проверки для свойства? У меня есть 2 разных настраиваемых атрибута электронной почты: один для адреса электронной почты, а другой, чтобы убедиться, что адрес электронной почты находится вне Active Directory. Я хочу, чтобы моя обычная проверка электронной почты была первой, а затем проверка Active Directory.


person Juan    schedule 09.09.2015    source источник


Ответы (1)


В целом

Как описано в Как указать порядок DataAnnotation ValidationAttribute?< /а>

Единственный способ указать порядок — создать свой собственный ModelValidatorProvider, который затем сможет упорядочить атрибуты. Это, вероятно, будет сложно, потому что вам также нужно будет создать перегрузки для каждого атрибута, который принимает параметр Order (не знаю, делают ли они уже).

Но в вашем случае

Вы можете создать свой собственный атрибут электронной почты, чтобы сначала проверить действительность в качестве адреса электронной почты, а затем проверить наличие в активном каталоге. и нет необходимости в другом атрибуте проверки электронной почты.

Поскольку атрибут EmailAddressAttribute запечатан, вы не можете наследовать его, вместо этого вы можете использовать исходный код этого класса, чтобы изменить и создать свой собственный атрибут:

person Reza Aghaei    schedule 09.09.2015