一種常見的方法是把所有的驗證您的視圖模型,通常是通過使用數據的註釋。 MVC允許您從數據註釋中自動生成客戶端(javascript)驗證。漂亮幹。
您控制器發佈的操作將採用viewmodel並檢查IsValid屬性。這樣一來,你在客戶端和服務器使用相同的代碼驗證(或應該,我說在數據註解的情況下屬性):剛通過使控制器操作發生在
[HttpPost]
public ActionResult ResetPassword(ResetPasswordViewModel viewModel)
{
if (ModelState.IsValid)
{
// convert to dto/entity and pass to next layer
// redirect to success page
return RedirectToAction("ResetPasswordSuccess");
}
// display original view which will display error messages
return View();
}
我想補充的是viewModel作爲參數,默認的MVC模型綁定器會自動驗證您的視圖模型,並將任何錯誤添加到ModelState錯誤集合中,用於在視圖中顯示錯誤。
好點。我在最後幾個問題上這樣做是爲了嘗試和解決這個問題。 – nick 2011-01-10 11:54:32