I have a view with two models: generic account e profile user.
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; }
}
I should validate the second model only if at least one field connected to him has been filled.
If for example BirthPlace
is entered then also validate the second model, otherwise validate only the first model.
I hope my request is clear