[英]JQuery Unobtrusive Validation Get Error with MVC For loop
嗨,我正在尝试在我的MVC应用程序上使用非侵入式验证,但出现错误。
引用的jQuery文件
"~/Scripts/libs/jquery-1.9.1.js",
"~/Scripts/libs/jquery.browser.min.js",
"~/Scripts/libs/bootstrap.min.js",
"~/Scripts/libs/jquery.validate.min.js",
"~/Scripts/libs/jquery.validate.unobtrusive.min.js",
"~/Scripts/libs/jquery.unobtrusive-ajax.min.js",
视图模型
public class UserGroupNameMappingViewModel
{
public string GeneralName { set; get; }
[Required(ErrorMessage = "This Field is required")]
public string MappingName { set; get; }
public UserGroupNameMappingViewModel() { }
}
客户端表格
@model List<UserGroupNameMappingViewModel>
@using (Html.BeginForm()){
@Html.AntiForgeryToken()
for (int i = 0; i < Model.Count(); i++)
{
<div class="row form-group">
@Html.DisplayFor(m => Model[i].GeneralName)
@Html.ValidationMessageFor(m => Model[i].MappingName)
@Html.HiddenFor(m => Model[i].GeneralName)
@Html.LabelFor(m => Model[i].MappingName)
@Html.TextBoxFor(m => Model[i].MappingName)
<br />
</div>
}
<button type="submit" class="btn btn-success">Update</button>
}
</div>
我收到了Javascript错误(从Jquery.validate.unobtrusive.min.js抛出)
Uncaught Error: Syntax error, unrecognized expression: label[for='[0].MappingName'], label[for='[0].MappingName'] *, #[0].MappingName-error
请让我知道您的想法,谢谢!
我想我找到了解决方案,
每个
@ Html.TextBoxFor(m =>模型[i] .MappingName)
我需要提供一个格式良好的ID。 例如
@ Html.TextBoxFor(m => Model [i] .MappingName,新{id =“ Model_MappingName _” + @i})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.