サーバー側とクライアント側(JQuery)の両方の名前のリストを検証したいと思います。私のcshtmlファイルでは、リスト名をループしています。
@for (var i = 0; i < Model. KeyConsultantList.Count; i++) // 3 Rows
{
<tr>
<td>Name:</td>
<td>@Html.TextBoxFor(m => Model. KeyConsultantList [i].Name, new { @class = "textvalid" })</td>
<td>@Html.ValidationMessageFor(m => Model. KeyConsultantList [i].Name)</td>
</tr>
}
リスト内の最初の名前のみが IsRequired であることを検証したいと思います。属性[Required(ErrorMessage = "Contact Name field is required")]
を入力すると、ModelList プロパティに 3 つのフィールドすべてが検証されます。これは一例であることに注意してください。実際には、同じフィールド名を持つ 30 以上の行があります。したがって、ループが必要です。
public class ModelKeyConsultants
{
public List<ModelList> KeyConsultantList {get;set;}
public ModelKeyConsultants()
{
KeyConsultantList = new List<ModelList>()
{
new ModelList(),
new ModelList(),
new ModelList()
};
}
public class ModelList
{
public string ContactName { get; set; }
}
}