我有一个包含其他模型集合的模型。
public class CompanyViewModel
{
..
..
public List<EmployeeViewModel> Employees {get;set;}
}
public class EmployeeViewModel
{
[Required]
public string Username {get;set;}
}
现在在我的Post方法中,如何检查EmployeeViewModel是否有效?
我会有一个动态的员工数量,所以如果其中任何一个未通过验证,我只是不会添加它们。
[HttpPost]
public ActionResult Update(CompanyViewModel model)
{
...
foreach(var emp in model.Employees)
{
// emp valid???????????
if( )
{
employeeDao.save(emp);
}
}
....
}
答案 0 :(得分:0)
尝试使用以下代码。
[HttpPost]
public ActionResult Update(CompanyViewModel model)
{
if (ModelState.IsValid && (model.Employees !=null && model.Employees.Count >0))
{
foreach (var item in model.Employees)
{
if(!string.IsNullOrEmpty(item.Username))
employeeDao.save(emp);
}
}
}
答案 1 :(得分:0)
关键是使用ModelState.IsValid
。这将获取任何数据注释违规,例如你的班级和子类中的[Required]
。