请帮我解决以下问题。 Model类正在使用System.ComponentModel.DataAnnotation
:
namespace Proj.Models
{
public class Customer
{
[Required]
public string CustomerID{get;set;}
[Required]
public string CustomerName{get;set;}
}
}
我使用此模型创建了一个控制器,操作方法为:
public class Customer:Controller
{
public ActionResult Details()
{
return View();
}
}
剃刀视图是Details.cshtml,具有以下标记和代码:
@model Proj.Models.Customer
<form method="post">
@Html.EditorForModel()
<button>Submit!!</button>
</form>
但是,当我点击提交时,没有看到预期的验证错误。
答案 0 :(得分:2)
您需要创建一个方法,将您的模型作为输入,如下所示:
[HttpPost]
public ActionResult Index(Customer customer)
{
return View();
}
[HttpPost]
确保仅在POST请求上调用该方法。
答案 1 :(得分:0)
您需要为模型创建编辑器模板。默认情况下,不会发出验证消息。在您的编辑器模板中,您必须对@ValidationMessageFor
字段使用Required
。
希望这有帮助。