Атрибут RequiredIf
предназначен для проверки свойства, которое требуется на основании значения другого свойства. Например, если модель содержит свойства bool NotifyMeByEmail
и string EmailAddess
, тогда вы можете применить ее следующим образом.
public bool NotifyMeByEmail { get; set; }
[RequiredIf("NotifyMeByEmail", ErrorMessage = "Please enter you email address")]
public string EmailAddress { get; set; }
Тогда в представлении, если флажок для NotifyMeByEmail
не установлен, то ошибка проверки генерируется для EmailAddress
.
Похоже, что вы действительно хотите проверить ввод электронной почты пользователем, еще не существующий в его базе данных, и в этом случае вам нужен атрибут [Remote]
(стандартный MVC, не надежный). How to: Implement Remote Validation in ASP.NET MVC
Что вы здесь делаете? Похоже, что вам нужен атрибут '[Remote]', который проверяет, существует ли в базе данных письмо и отображает ошибку, если это так. Это не то, что '[RequiredIf]' для –