Edit.aspx:驗證問題與MVC 1
<th>Calendar<input id="datepicker" name="datepicker" type="text" class="input-box"/></th>
控制器動作:
// POST: /Studenti/Edit/5
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit(int[] rb, int id, string datepicker)
{
List<nastava_prisustvo> nastava = new List<nastava_prisustvo>();
if (String.IsNullOrEmpty(datepicker))
ModelState.AddModelError("datepicker", "First name is required");
try
{
if (ModelState.IsValid)
{
string poruka = "";
for (int i = 1; i <= rb.Length; i++)
{
string name = "chk" + i;
string selID = Request.Form[name];
if (selID == "on")
{
nastava.Add(new nastava_prisustvo
{
br_indexa = int.Parse(Request.Form["id_stud" + i]),
id_predmet = id,
datum = System.DateTime.Parse(Request.Form["datepicker"])
});
}
}
return View("show", nastava);
}
}
catch(Exception ex){
ModelState.AddModelError("*", "An unexpected error occurred.");
}
return View("show", nastava);
}
}
如何驗證日期選擇器FIEL?如果日期未被選擇,如何停止發佈數據並顯示適當的消息。我使用ASP> NET MVC 1並閱讀這http://www.superexpert.com/Blog/archive/2008/09/09/asp-net-mvc-tip-42-use-the-validation-application-block.aspx,但沒有解決我的問題
如何在查看頁面上發佈此錯誤或此代碼自動添加頁面上的錯誤 – Ognjen
我更新了我的代碼,但此代碼不會在用戶未設置日期時在查看頁面中寫入消息 – Ognjen
我想通過擺脫try catch來重構您的方法使用TryParse方法來獲取和驗證int和日期值,並且在完成所有事情之後但在返回視圖之前僅檢查ModelState.IsValid。 –