0

我正在使用 bootstrap 3.2.0、bootstrapvalidator 0.5.2 和 mvc 5.1。我不是 MVC 方面的专家,所以对于更有经验的用户来说,解决方案可能是显而易见的。

我遇到的问题是模型以“modelname.fieldname”格式发出输入元素名称,因此,生成的用户名输入元素是

@Html.TextBoxFor(model => Model.LoginViewModel.UserName, new { @class = "form-control logininput", @placeholder = "User Name", @tabindex = 0 })

将生成如下所示的 html:

<input class="form-control logininput" data-val="true" data-val-required="The Username field is required." id="LoginViewModel_UserName" name="LoginViewModel.UserName" placeholder="User Name" tabindex="0" type="text" value="">

我遇到的问题是引导验证器想要按名称引用元素,并且如果名称中的句点(LoginViewModel.UserName)无效:

 $('#loginform').bootstrapValidator({
        fields: {
        LoginViewModel.UserName: {
                message: 'The user name is not valid',
                container: '#erruser',
                validators: {
                    notEmpty: {
                        message: 'The user name is required'
                    }
                }
            }
        }
    });

如果我在 html 帮助器上指定名称,引导验证器效果很好,但模型不会验证:

@Html.TextBoxFor(model => Model.LoginViewModel.UserName, new { @class = "form-control logininput", @placeholder = "User Name", @tabindex = 0, Name="UserName" })

我也尝试过转义和包围,但无济于事:

LoginViewModel\\.Password: {

LoginViewModel['Password']: {

有没有办法让 bootstrapvalidator 接受带有句点的元素名称,或者我是否必须以某种方式修改模型以将“简单”元素名称映射到模型字段名称?

4

0 回答 0