我有一份问卷,由多页 12 条语句组成,用户必须为每一个语句指定语句与它们匹配的程度。看起来像这样:
我的视图模型如下所示:
public class PageViewModel
{
public List<ItemViewModel> Items { get; set; }
}
public class ItemViewModel
{
public Guid Id { get; set; }
public int Number { get; set; }
public string Text { get; set; }
[Required]
public int Response { get; set; }
}
而我的观点:
@model PageViewModel
@using(Html.BeginForm()){
<table>
<tr>
<td></td>
<td></td>
<th>1</th>
<th>2</th>
<th>3</th>
<th>4</th>
<th>5</th>
</tr>
@Html.EditorFor(model => model.Items)
@Html.ValidationSummary(false)
</table>
<input type="submit"/>
}
并且为每个项目重复编辑器模板:
@model ItemViewModel
<tr>
<td>@Model.Number:</td>
<td>@Model.Text</td>
@for(int i = 1; i <= 5; i++){
<td>@Html.RadioButtonFor(model => model.Response, i)</td>
}
<tr>
我希望验证摘要能列出需要回复的语句,例如。“声明 6 需要答复”。目前它只是重复“需要响应字段”
我应该想象一个自定义验证器是必需的,但目前从头开始编写我自己的验证器有点超出我的能力,所以任何帮助将不胜感激。