ValidationMessage для не работает после TryValidateModel - PullRequest
0 голосов
/ 20 мая 2018

У меня есть модель представления, которая содержит коллекцию объектов.Мое действие может изменить некоторые из этих объектов, а затем мне нужно повторно проверить модель.Я использую:

 ModelState.Clear();
            foreach (QuestionDTO d in model.Questions)
                TryValidateModel(d);

Проблема в том, что когда состояние модели недопустимо, ValidationMessageFor больше не отображается.Это работает, когда я использую проверку по умолчанию без очистки.Ошибки отображаются в валидации.

На странице cshtml у меня есть:

for (int i = 0; i < Model.Questions.Count(); i++)
    {
        @Html.EditorFor(m => m.Questions[i])
    }

У меня есть шаблон редактора для вопросов.Пример кода в шаблоне редактора:

<div class="form-group">
        @Html.Raw(Model.QuestionText)<br />
        @Html.MyCustomTextBoxFor(t => Model.AnswerText, new { @class = "form-control" })
        @Html.ValidationMessageFor(model => model.AnswerText, "", new { @class = "text-danger" })
    </div>

Я пытался использовать TryValidateModel (model.Questions), но, похоже, он не проверяется, потому что модель тогда действительна.Я чувствую, что мне нужно просто сделать что-то другое с TryValidateModel.Любая помощь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...