Asp.net-Mvc

ValidationMessageFor 不顯示錯誤

  • June 2, 2021

我有這堂課:

public class Product
{
   [Required(ErrorMessage = "empty name")]
   public string Name { get; set; }

   [Required(ErrorMessage = "empty description")]
   public string Description { get; set; }
}

我有一個 ResponseProduct 顯示在視圖中:

public class ProductInsertVM
{
   public string Message = "Success";
   public Product Product;
}

在我看來,我有這個:

@using (Html.BeginForm()){  
   @Html.ValidationSummary(false)

   @Html.TextBoxFor(m => m.Product.Description)
   @Html.ValidationMessageFor(m => m.Product.Description)
}

我想知道為什麼 ValidationMessageFor 不起作用?!!只有 ValidationSummary 有效。如果我用產品回應,那麼它就可以工作。

如果滿足以下條件,您提供的程式碼應該可以正常工作。

**1)**您在視圖中參考了 jQuery 驗證腳本

<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>

**2)**在表單送出時,您正在呼叫 ModelState.IsValid 屬性並因此驗證傳遞給操作方法的模型

[HttpPost]
public ActionResult CarList(CarList model)
{
   if (ModelState.IsValid)
   {
      //Save or whatever you want to do 
   }
   return View(model);
}

引用自:https://stackoverflow.com/questions/10693133