我意識到在MVC4中使用驗證屬性來執行此任務。但知道我正在處理不同的情況。如何在MVC4中創建自定義驗證?
這裏是模型,其中我有一個集合屬性Choices
(這一直有5個元素)和CorectChoice
其中是從集合中選擇的索引。
public class MultipleChoiceQuestionTemplate : QuestionTemplate
{
public MultipleChoiceQuestionTemplate() { ... }
[DisplayName("Question")]
public string QuestionText { get; set; }
public List<string> Choices { get; set; }
[DisplayName("Correct Choice")]
public int CorrectChoice { get; set; }
}
這裏是視圖,觀看演示文稿。
<div id="choices">
@for (int i = 0; i < Model.Choices5.Count; i++) {
<div class="choice-container" style="display: block;">
@Html.TextBoxFor(model => model.Choices5[i])
@Html.RadioButtonFor(model => model.CorrectChoice, i)
</div>
}
</div>
注意,用戶可以在離開輸入空字符串(類型= 「文本」)。我需要驗證選定的索引(單選按鈕)應該有一個字符串。
如何在提交表單之前驗證它?