【发布时间】:2014-06-23 02:29:00
【问题描述】:
我有模型,它具有 IEnumerable 属性。
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 添加/删除收件人替换。
【问题讨论】:
-
你能发布完整的视图和操作吗?
标签: c# asp.net-mvc asp.net-mvc-4