У меня есть SearchViewModel со следующими свойствами:
[RegularExpression("name")]
public String SortField;
[RegularExpression("asc|desc")]
public String SortDirection;
Как вы можете видеть, я хочу, чтобы «имя» было единственным допустимым значением SortField на данный момент, а «asc» или «desc»единственные допустимые значения для SortDirection.
Однако ValidateModel не улавливает никаких ошибок, когда значения отличаются, и ModelState.IsValid возвращает true.По сути, я могу указать любое значение, и оно всегда будет проходить.
Сокращенный метод контроллера:
public ActionResult List(SearchViewModel model)
{
ValidateModel(model); // No error here
Boolean isValid = ModelState.IsValid // This is true
//...
}
Что я делаю не так?
Редактировать: Я не уверен, важно ли это, но я использую собственный ModelBinder.