0

Hi i am a beginner in MVC i have written code for validating but it is not working can anyone please help me out. Here is the model code:

[Required]
public string Name { get; set; }

Here is the View code:

            @Html.TextBoxFor(m => m.ContactDetailSubSections[i].Name)
            @Html.ValidationMessageFor(m=>m.ContactDetailSubSections[i].Name)

Thanks in advance for your help

4

3 に答える 3

0

MVCのクライアント側検証機能を有効にして、コントローラーにサーバー側コードを必要としない標準検証を行うことができます。

クライアント側の検証を有効にする

クライアント側の検証を有効にする-2

ただし、セキュリティを強化するには、コントローラレベルでModestState.IsValid()も確認する必要があります。

于 2013-02-22T08:30:04.333 に答える
0

jquery のいくつかのファイルを参照する必要があると思います。そして、アクションでは、次のように何かをしなければなりません:

if(ModelState.IsValid) { //TODO } return View();

そして、アクションは属性を追加する必要があります[HttpPost]

于 2013-02-22T07:38:57.970 に答える
0

まず、ASP.NET MVC サーバーの検証に JS ライブラリは必要ありません。
次に、モデルが有効であることをコントローラーで確認する必要があります。

if (ModelState.IsValid) {
    //do something
}
return View(); //you can return view with optional parameters

また、データの送信に使用するメソッド (POST または GET) を確認し、このメソッドがコントローラーで使用されていることを確認する必要があります (データの送信には常に POST メソッドを使用します)。

[HttpPost]
public ActionResult Index(YourModel model) {
    if (ModelState.IsValid) {
       //do something
    }
    return View();
}

これはあなたのためのプロジェクトです (Validation.zip): http://sdrv.ms/UP3DIE (VS 2012 を使用しています)
Required 属性とカスタム エラー メッセージを持つフィールドは 1 つだけです (モデル LocalValidationTestModel)。ビューには、エラーを表示するための 2 つのメソッドがあります:
@Html.ValidationSummary() と @Html.ValidationMessageFor(x => x.TestField)

JS スクリプトと CSS スタイルはすべてカットされています。

また、なぜ配列を使用しているのですか?

于 2013-02-22T07:19:05.537 に答える