Как получить валидацию модели для набора атрибутов, заданных для объектов в Списке в MVC3? - PullRequest
3 голосов
/ 31 января 2012

У меня есть набор моделей, похожий на этот

public class OtherModel 
{
    [Required]
    string name { get; set; }
}

public class OthersEditModel 
{
    List<OtherModel> others { get; set; }
}

У меня есть метод контроллера, который выглядит следующим образом

[HttpPost]
public ActionResult EditOthers(OthersEditModel others)
{
    if(ModelState.IsValid)
    {
         // Save
    }
}

Моя проблема в том, что ModelState.IsValidне запускает проверку объектов в списке.

Как мне это сделать, или это вообще возможно?

Или, альтернативно, я могу вручную запустить проверку элементов всписок

Ответы [ 2 ]

1 голос
/ 31 января 2012

Получается, что проблема не в свойствах проверки. Они отлично подбирают, ничего не делая с базой OthersEditModel. Я сломал генерацию динамического JavaScript-кода, поэтому поля формы возвращались с неправильными именами.

Кстати, http://haacked.com/archive/2008/10/23/model-binding-to-a-list.aspx - отличное расширение для MVC 3

0 голосов
/ 31 января 2012
[HttpPost]
public ActionResult EditOthers(OthersEditModel others)
{
    if(ModelState.IsValid)
    {
         foreach (var item in others.others)
        {
            if(!TryValidateModel(item))
                //Not valid
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...