Мой проект находится в ASP.NET MVC 3. В моем домене есть объект модели, определенный Entity Framework.Чтобы проверить свойства, я просто расширяю сгенерированный объект EF и добавляю класс метаданных, который содержит все мои атрибуты проверки.
[MetadataType(typeof(ContactInformationMetaData))]
public partial class ContactInformation
{
}
public class ContactInformationMetaData
{
[Required]
public string FirstName { get; set; }
[Required]
public string LastName { get; set; }
public string Phone { get; set; }
[EmailValidator]
public string Email { get; set; }
}
Это прекрасно работает большую часть времени, но теперь у меня есть более сложный сценарий.Я не хочу, чтобы свойства «Телефон» и «Электронная почта» были обязательными, но я хочу, чтобы ОДИН из них был обязательным.Другими словами, я хочу потребовать, чтобы был установлен либо адрес электронной почты, либо телефон, либо оба, но не один.
Как бы я провел комплексную проверку, как это?Если я создам собственный атрибут проверки, куда я его поместу и как это будет работать?