Очистить значение поля, если ModelState говорит, что поле недопустимо - PullRequest
4 голосов
/ 18 октября 2011

Я хочу очистить представленное значение поля в модели, если ModelState показывает, что поле недопустимо.

Вот где я дошел, но не могу связать ключ к значению в модели. Есть предложения?

if (!ModelState.IsValid)
{
  foreach (string key in ModelState.Keys)
  {
    if (!ModelState.IsValidField(key))
    {
       // This field is not valid so set to empty string in model
       // Something like....
       model[key] = "";
    }
  }
}

1 Ответ

11 голосов
/ 18 октября 2011

Вы должны вернуть то же представление с полученной моделью, а также изменить свой код на следующее:

if (!this.ModelState.IsValidField(key))
{
    var emptyValue = new ValueProviderResult(
        string.Empty,
        string.Empty,
        CultureInfo.CurrentCulture);

    this.ModelState.SetModelValue(
        key,
        emptyValue);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...