2

次のコードで私を助けてください。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();
    }
}

Razor ビューは 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 に答える