ASP.NET MVCで開始されたばかりで、コレクションにデータアノテーションを適用する際に問題があります。何か基本的なものが見つからないか、データアノテーションを使用したコレクションの妥当性確認
私は強く型付けされたビューに渡すこのViewModelにあります。いずれかの等級リスト内のオブジェクトの数は、将来的に一定のままであるので、私ができない場合、私は見当がつかない
public class AddCostingViewModel
{
[Required]
[Range(120,190)]
public int SomeValue {get; set;}
public List<Grade> Grades { get; set; }
public List<int> GradeValues { get; set; }
}
を"Grade1、Grade2"などを渡す - このようなリストを渡してcshtmlページを構築することは、常に可能なすべての成績を含むフォームを保有し、正しい値を返すようにする最も明白な方法のようです。
<tr>
@foreach (var g in Model.Grades)
{
<th>@g.GradeName</th>
}
</tr>
<tr>
@for (int i = 0; i < Model.Grades.Count(); i++)
{
<td>
<div class="editor-field">
@Html.EditorFor(model => model.GradeValues[i])
@Html.ValidationMessageFor(model => model.GradeValues[i])
</div>
</td>
}
</tr>
手近にすべての可能なグレードの値を編集するためのフィールドを含むテーブルを生成します。私のCSHTMLはこのような何かに見えます。しかし、これらを(上記のSomeValueのように)範囲に対して検証したいのですが、SomeValueを使ったように、リストの上にデータ注釈を追加すると動作しないようです。これが可能か、私のアプローチはまったく間違っていますか?