繁体   English   中英

jQuery不打扰的验证获取MVC For循环错误

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM