2

请帮助我处理以下代码。模型类正在使用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>

但是,当我单击提交时,没有按预期看到验证错误。

4

2 回答 2

2

您需要创建一个将模型作为输入的方法,如下所示:

[HttpPost]
public ActionResult Index(Customer customer)
{
    return View();
}

[HttpPost]确保仅在 POST 请求上调用该方法。

于 2012-11-24T12:27:24.037 回答
0

您需要为模型创建编辑器模板。默认情况下不会发出验证消息。在您的编辑器模板中,您必须使用@ValidationMessageFor您的Required字段。

希望这可以帮助。

于 2012-11-24T16:49:40.677 回答