У меня есть простая модель данных регистрации члена с несколькими обязательными свойствами и некоторыми дополнительными свойствами.Свойство BillToAddress является необязательным.
public class MemberRegistration
{
[Required(ErrorMessage = "First Name is required.")]
public string FirstName { get; set; }
[Required(ErrorMessage = "Last Name is required.")]
public string LastName { get; set; }
[Required(ErrorMessage = "Email Address is required.")]
public string EmailAddress { get; set; }
public string PhoneNumber { get; set; }
[Required(ErrorMessage = "Password is required.")]
[MinLength(7, ErrorMessage = "Password must be at least 7 characters.")]
public string Password { get; set; }
private Address m_BillToAddress;
public Address BillToAddress
{
get
{
if (m_BillToAddress == null)
{
m_BillToAddress = new Address();
}
return m_BillToAddress;
}
}
}
Если пользователь вводит дополнительный адрес для адреса, я бы хотел указать улицу, город, страну и почтовый индекс.Поэтому я определил модель данных Address, пометив эти свойства как необходимые.
public class Address
{
[Required(ErrorMessage = "Street Line 1 is required.")]
public string Street1 { get; set; }
public string Street2 { get; set; }
public string Street3 { get; set; }
public string Street4 { get; set; }
public string Street5 { get; set; }
[Required(ErrorMessage = "City is required.")]
public string City { get; set; }
[Required(ErrorMessage = "State or Province is required.")]
public string StateOrProvince { get; set; }
[Required(ErrorMessage = "Country is required.")]
public string Country { get; set; }
[Required(ErrorMessage = "Postal Code is required.")]
public string PostalCode { get; set; }
}
Но теперь проверка модели не проходит, когда я не предоставляю счет на адрес.Как можно аннотировать мои модели так, чтобы счет по адресу был необязательным, но , если он указан , то он должен включать улицу, город, страну и почтовый индекс?