Вы можете использовать метод частичной проверки для изменения результатов проверки. В этом примере будут отклонены все ошибки в поле «Электронная почта».
public class DontValidateEmailAttribute : ActionFilterAttribute {
public override void OnActionExecuting(ActionExecutingContext filterContext) {
var modelState = filterContext.Controller.ViewData.ModelState;
var incomingValues = filterContext.Controller.ValueProvider;
var key = modelState.Keys.Single(x => incomingValues.Equals("Email"));
modelState[key].Errors.Clear();
}
}
и примените этот атрибут к своему редактору контроллеров.
Я изучил эту технику у Pro ASP NET MVC Стива Сандерсона 3 . Он использует технику для проверки модели, которая имеет обязательные поля, но ввод данных является многошаговым мастером. Если значение не было возвращено в форме сообщения, он удаляет ошибки для этого свойства.