我正在使用來自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