1

カミソリ ビューでフィールド検証を作成したいと考えています。MVC が自動的にvalidationMessageFor
を 生成するため、これは非常に簡単です。

私が読んだように、モデルクラスで検証を行うことは許可されておらず、代わりにviewModelクラスを使用しています。[必須]注釈をビューモデルに配置する方法について少し混乱しています。

私の問題

これは、実際の検証がどのように機能するかです

<tr>
            <td>Name</td>
            <td colspan="2">
                @Html.EditorFor(model => model.reg.registerNm, new { @class = "TextBoxAsLabel" })
                @Html.ValidationMessageFor(model => model.reg.registerNm)
            </td>

        </tr>

ビューモデル

public class reg
{  
   [Required]
   public string registerNm {get;set;}
}

これは機能しますが、私のViewModelでは、多くのテーブル

My ViewModelのデータを使用する必要があるため、構造が異なります

    public class RegisterInfoPA
{    

    public register reg { get; set; }

    public personalInfo pinfo { get; set; }

    public IEnumerable<maritalInfo> minfo { get; set; }

    public IEnumerable<eduInfo> edInfo { get; set; }

    public IEnumerable<monthlyIncome> monthlyIncomeInfo { get; set; }

    public refundBank refundBK { get; set; }

    public IEnumerable<accType> accType { get; set; }  
}

したがって、ここで[Required]アノテーションを割り当てるたびに、検証は機能しません。
ビューモデルが使用しているため、ビューモデルの検証メッセージを行うにはどうすればよいですか

public register reg { get; 設定; }

私が望む非常に多くのフィールドを表すものですが、検証の目的で、特定のフィールドを1つまたは2つだけ検証したいのですが、どうすればそれを達成できますか?

ありがとうございました 。

4

0 に答える 0