我有模型,它具有IEnumerable屬性。如何在MVC模型中驗證IEnumerable <string>屬性4
public class SendEmailModel
{
[Required]
[RegularExpression(Helper.DefaultEmailValidationPattern, ErrorMessageResourceName = "InvalidValue", ErrorMessageResourceType = typeof(i18n))]
public IEnumerable<string> Recipients { get; set; }
[RegularExpression(Helper.DefaultInputValidationPattern, ErrorMessageResourceName = "InvalidValue", ErrorMessageResourceType = typeof(i18n))]
public string Subject { get; set; }
...
}
鑑於
@using (Ajax.BeginForm("SendEmail", "Admin", new AjaxOptions { LoadingElementId = "loadingPane" }, new { id = "SendEmailForm"}))
{
<div class="custom-validation-summary-errors"></div>
<div>
@Html.LabelFor(m => m.Recipients, i18n.To):
</div>
for (int i = 0; i < 10; i++)
{
<div>
@Html.EditorFor(m => m.Recipients, "String")
</div>
}
<div class="mt20">
@Html.LabelFor(m => m.Subject, i18n.Subject):
</div>
<div>
@Html.EditorFor(m => m.Subject, "String")
</div>
...
<input type="submit" value="Send"/>
}
但發佈表單驗證時不能正常工作。發佈後,我得到ModelState.IsValid - false。
編輯: 我試圖利用不顯眼的驗證。對主題的驗證正在工作(用戶不能發表帶有無效主題的表單)
for循環將被替換爲jquery添加/刪除收件人。
你能發佈完整的視圖和操作嗎? –
已更新的問題 –