ASP.NET MVC在控制器中使用mvvm验证模型dataanotations

时间:2014-07-14 10:31:24

标签: asp.net-mvc validation mvvm controller

如果我在模型中有数据注释并在我的视图中使用ViewModel,那么我如何验证控制器中的模型数据注释?

编辑: 谢谢你的答案,我找到了解决方案

1 个答案:

答案 0 :(得分:-1)

---viewmodel controler action---
if (ModelState.IsValid)
{
   var model = new Model();
   UpdateModel(model, viewModel);

   var result = new List<ValidationResult>();
   var context = new ValidationContext(model, serviceProvider: null, items: null);
   var isValid = Validator.TryValidateObject(model, context, result, true);
   if (!isValid)
   {
      foreach (var validationResult in result)
      {
         ModelState.AddModelError("",validationResult.ErrorMessage);
      }
   }