Exclude Fields From Model Validation
asp.net-mvc, c#, model-validation
Solution
You can use
ModelState.Remove("Email");
to remove entries in model state, that are related to hidden fields.
The best solution is to divide view model into two:
public class PersonViewModel
{
[Required]
public String FirstName { get; set; }
[Required]
public String LastName { get; set; }
}
public class PersonWithEmailViewModel : PersonViewModel
{
[Required]
public String Email { get; set; }
}
Problem
Let's say I have a following `ViewModel` : ``` public class PersonViewModel { [Required] public String Email { get; set; } [Required] public String FirstName { get; set; } [Required] public String LastName { get; set; } } ``` This is a `ViewModel` not a original `Entity`, I use this model in two places, in the first one I want to validate all fields, but in another one I want to exclude `Email` field from model validation. Is there anyway to specify to exclude field(s) from validation?