我在 for-each 循环的帮助下生成了一些控件。我想验证文本框取决于下拉菜单的答案。对于某些问题,如果下拉列表中的选定项目为“是”,则应启用验证器;对于某些问题,如果下拉列表中的答案为“否”,则应启用验证器。目前它为两者触发,因为我不知道如何控制它,因为控件是动态生成的
看法
@for (int a = 0; a < Model.ServiceQaVisits.Count(); a++)
{
if (Model.ServiceQaQuestions[a].sqqQuestionID == Model.ServiceQaVisits[a].sqvQuestionID)
{
<div>
@Html.DisplayTextFor(m => m.ServiceQaVisits[a].sqvQuestionID)
@Html.DisplayTextFor(m => m.ServiceQaQuestions[a].sqqQuestion)
@Html.HiddenFor(m => m.ServiceQaVisits[a].sqvQAID)
@if (Model.ServiceQaQuestions[a].sqqQuestionTypeID == 1)
{
@Html.TextBoxFor(m => m.ServiceQaVisits[a].sqvAnswer)
}
else if (Model.ServiceQaQuestions[a].sqqQuestionTypeID == 2)
{
List<string> lista = new List<string>() { "Yes", "No" };
@Html.DropDownListFor(m => m.ServiceQaVisits[a].sqvAnswer, new SelectList(lista), "Select Answer")
}
else
{
List<string> listb = new List<string>() { "Yes", "No", "N/A" };
@Html.DropDownListFor(m => m.ServiceQaVisits[a].sqvAnswer, new SelectList(listb), "Select Answer")
}
@if (Model.ServiceQaQuestions[a].sqqNegativeAnswer != null)
{
@Html.TextBoxFor(m => m.ServiceQaVisits[a].sqvComment)
@Html.ValidationMessageFor(m => m.ServiceQaVisits[a].sqvComment,"", new {@class = "text-danger"});
}
</div>
}
}
模型
[Required(ErrorMessage = "Please enter the reason")]
public string sqvComment { get; set; }
非常感谢任何帮助。