カミソリ ビューでフィールド検証を作成したいと考えています。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つだけ検証したいのですが、どうすればそれを達成できますか?
ありがとうございました 。