У меня есть вид с двумя моделями: общий аккаунт и профиль пользователя.
public class AccountModel
{
[Display(Name = "UserId", Prompt = "UserId", ResourceType = typeof(Strings))]
public string UserId { get; set; }
[Required(ErrorMessageResourceName = "FieldRequired", ErrorMessageResourceType = typeof(Validation))]
[EmailAddress(ErrorMessage = null, ErrorMessageResourceName = "InvalidEmail", ErrorMessageResourceType = typeof(Validation))]
[Display(Name = "Email", Prompt = "Email", ResourceType = typeof(Strings))]
public string Email { get; set; }
[Required(ErrorMessageResourceName = "FieldRequired", ErrorMessageResourceType = typeof(Validation))]
[StringLength(100, ErrorMessageResourceName = "FieldMaximumLength", ErrorMessageResourceType = typeof(Validation))]
[Display(Name = "DisplayName", Prompt = "DisplayName", ResourceType = typeof(Strings))]
public string DisplayName { get; set; }
[Display(Name = "PhoneNumber", Prompt = "PhoneNumber", ResourceType = typeof(Strings))]
public string PhoneNumber { get; set; }
[Display(Name = "Country", Prompt = "Country", ResourceType = typeof(Strings))]
public int CountryId { get; set; }
public SelectList CountryList { get; set; }
}
public class UserProfileModel
{
[Display(Name = "ID User", Prompt = "ID User")]
public string IDUser { get; set; }
[Required(ErrorMessageResourceName = "FieldRequired", ErrorMessageResourceType = typeof(Validation))]
[StringLength(100, ErrorMessageResourceName = "FieldMaximumLength", ErrorMessageResourceType = typeof(Validation))]
[Display(Name = "UserFullName", Prompt = "UserFullName")]
public string UserFullName { get; set; }
[Required(ErrorMessageResourceName = "FieldRequired", ErrorMessageResourceType = typeof(Validation))]
[StringLength(16, ErrorMessageResourceName = "FieldMaximumLength", ErrorMessageResourceType = typeof(Validation))]
[Display(Name = "Code", Prompt = "Code")]
public string Code { get; set; }
[Required(ErrorMessageResourceName = "FieldRequired", ErrorMessageResourceType = typeof(Validation))]
[StringLength(250, ErrorMessageResourceName = "FieldMaximumLength", ErrorMessageResourceType = typeof(Validation))]
[Display(Name = "Birth Place", Prompt = "BirthPlace")]
public string BirthPlace { get; set; }
[Display(Name = "Newsletter")]
public bool? Newsletter { get; set; }
[Display(Name = "Avatar", Prompt = "Avatar")]
public string Avatar { get; set; }
}
Мне следует проверить вторую модель, только если заполнено хотя бы одно поле, связанное с ним.
Например, если введено BirthPlace
, проверьте также вторую модель, в противном случае проверьте только первую модель.
Я надеюсь, что мой запрос ясен