我正在使用来自link text的MVC验证库。我选择这个库是因为我也使用.NetTiers,它使用MS企业库验证块生成所有的验证属性。MVC模型绑定
它工作正常,除了该模型绑定自动验证对象并填充验证摘要。我相信这是正常的行为。
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Register([Bind()]NetTiersObject obj)
{
return View();
}
验证库还具有如下记载的方法:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Register([Bind()]NetTiersObject obj)
{
try
{
obj.Validate<NetTiersObject>();
}
catch (EntityValidationException ex)
{
ViewData.ModelState.PopulateWithErrors(ex);
}
return View();
}
这也能正常工作。
我的问题是,当使用验证库的方法它重复错误消息。当只使用模型绑定时,错误消息显得很奇怪。错误在消息中具有属性名称。
所以,我想我应该要么格式化模型绑定错误消息,要么完全禁用模型绑定。
任何建议,帮助?
谢谢。
在您的第一个示例中,它立即无效。如果我将FormCollection作为操作参数传递,那么modelstate是有效的。没有自定义模型绑定,这只是验证时的一个问题。谢谢你的帮助。 – 2009-12-09 00:48:44