ViewData.ModelState 為 ModelStateDictionary 型別,儲存模型繫結與驗證狀態。Html.ValidationMessage 透過檢查 ModelState 中是否存在指定 Key 來顯示錯誤訊息。
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Setting(SettingModel model)
{
if (!ModelState.IsValid)
{
// 驗證失敗,ModelState 已包含錯誤資訊
return View(model);
}
// 儲存邏輯...
return RedirectToAction("Index");
}
<p>
<label for="Name">Blog 名稱</label>
<%= Html.TextBox("Name") %>
<%= Html.ValidationMessage("Name") %>
</p>
<p>
<label for="Description">簡介</label>
<%= Html.TextArea("Description") %>
<%= Html.ValidationMessage("Description") %>
</p>
ValidationMessage(string modelName)ValidationMessage(string modelName, string message)ValidationMessage(string modelName, string message, object htmlAttributes)ValidationMessage(string modelName, IDictionary<string, object> htmlAttributes)[Required], [StringLength] 等)會自動在 ModelState 加入錯誤。Html.ValidationMessage("PropertyName") 檢查 ModelState["PropertyName"].Errors 是否有內容。<span class="field-validation-error">錯誤訊息</span>。ModelState 是 MVC 模型驗證的核心容器,配合資料註解屬性與 Html.ValidationMessage,可快速建立完整的伺服器端/用戶端驗證體驗。