Как пропустить проверки модели внутри родительской модели? - PullRequest
0 голосов
/ 17 октября 2018

У меня есть родительская модель ParentModel, содержащая дочернюю модель ChildModel1 и ChildModel2.

ChildModel1 содержит обязательную аннотацию данных, ParentModel используется внутри представления.Они оба находятся в одной и той же форме и вызывают одно и то же действие сервера, в зависимости от того, какой булев индикатор у меня есть в родительской модели, я хочу иметь возможность пропустить проверки ChildModel1 или ChildModel2, чтобы modelState не учитывал их.

Есть ли способ достичь этого?

1 Ответ

0 голосов
/ 18 октября 2018

В вашем посте просто удалите каждое дочернее свойство индивидуально.Если у вас есть более одного или двух свойств, которые вы хотите пропустить, я бы переместил их в другой метод, чтобы не загромождать действие Post.

[HttpPost]
public ActionResult AnAction(IndexVM model)
{
    ModelState.Remove("Child.ChildProperty1");
    ModelState.Remove("Child.ChildProperty2");

    if (!ModelState.IsValid)
    {
        // put code here
    }

    // carry on 
    return View(model)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...