1
有沒有一種方法來設置屬性上自定義驗證屬性的執行順序?我有兩個不同的自定義電子郵件屬性,一個用於電子郵件地址,另一個用於確保電子郵件地址在Active Directory中。我希望我的常規電子郵件驗證是第一次,然後是Active Directory驗證。自定義驗證屬性順序C#MVC4
有沒有一種方法來設置屬性上自定義驗證屬性的執行順序?我有兩個不同的自定義電子郵件屬性,一個用於電子郵件地址,另一個用於確保電子郵件地址在Active Directory中。我希望我的常規電子郵件驗證是第一次,然後是Active Directory驗證。自定義驗證屬性順序C#MVC4
一般來說
正如How can I specify the order of DataAnnotation ValidationAttribute's?
指定順序的唯一方法是描述要創建自己的 ModelValidatorProvider然後可以訂購的屬性。這將 可能會很棘手,因爲您還需要創建 每個接受Order參數的屬性的重載(不知道它們是否已經做了 )。
但在你的情況
您可以創建自定義的電子郵件屬性先檢查有效性的電子郵件地址,然後檢查在Active Directory中存在。並且不需要其他電子郵件驗證屬性。
由於EmailAddressAttribute
是密封的,你不能繼承,而不是你可以使用這個類的源代碼來改變和創造自己的屬性: