ValidationMessageFor不显示错误

Mur*_*nze 12 asp.net-mvc

我有这门课:

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

    [Required(ErrorMessage = "empty description")]
    public string Description { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我有一个ResponseProduct,它显示在视图中:

public class ProductInsertVM
{
    public string Message = "Success";
    public Product Product;
}
Run Code Online (Sandbox Code Playgroud)

在我看来,我有这个:

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

    @Html.TextBoxFor(m => m.Product.Description)
    @Html.ValidationMessageFor(m => m.Product.Description)
}
Run Code Online (Sandbox Code Playgroud)

我想知道的是为什么ValidationMessageFor doest'n工作?!只有ValidationSummary有效.如果我回复产品,那么它是有效的.

Shy*_*yju 20

如果满足以下条件,您提供的代码应该可以正常工作.

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>
Run Code Online (Sandbox Code Playgroud)

2)在表单提交上,您调用ModelState.IsValid属性,从而验证传递给action方法的模型

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