使用TryValidateModel验证模型时如何排除某些属性

时间:2012-11-15 18:57:42

标签: asp.net-mvc-3 validation

我正在开发一个ASP.NET MVC 3项目,需要从服务器端验证中排除某些属性。我正在寻找像Is it possible to override the required attribute on a property in a model?这样的问题,但我不想再次绑定模型,因为我已经对它进行了更改(根据我的理解,这就是TryUpdateModel将要做的事情)。

来自相关问题

public ActionResult SomeAction()
{
 var model = new BaseModel();

 if (TryUpdateModel(model, null, null, new[] { "RequiredProperty" })) // fourth parameter is an array of properties (by name) that are excluded
 {
      // updated and validated correctly!
      return View(model);
 }
 // failed validation
 return View(model);
}

我想验证已更新的模型,不包括某些属性。我应该在链接问题中使用像hackedbychinese一样的TryUpdateModel吗?它可以改变属性的值吗?

1 个答案:

答案 0 :(得分:0)

我最终使用了jquery验证规则remove方法。

$("#fax_DisplayPhoneNumber").rules("remove", "required");

这将覆盖模型中传真[Required]属性上的DisplayPhoneNumber标记,因此它不再是必需的输入。