Foundation 5 Abide 验证不适用于 MVC5

Foundation 5 Abide validation not working with MVC5

我正在尝试将 Foundation 5 遵守验证连接到我的 MVC 5 view.When 我留下必填字段并尝试提交表单,我看到所有必填字段都以红色突出显示,但我想在 Required(ErrorMessage="username is required"]

中查看我添加到 C# 视图模型中的错误消息

这些是我已经添加的东西 将这些键添加到我的根级别 web.config

<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />

向表单元素添加了 data_abide 属性

@using (Html.BeginForm("Register", "Account", FormMethod.Post, new { id = "form-user-register", data_abide = "" }))
{
    <div class="row">
        <div class="small-3 columns">
            @Html.DisplayNameFor(m => m.LoginName)<br />
            @Html.TextBoxFor(m => m.LoginName, new { id = "register-loginname"})                
        </div>
    </div>
    <div class="row">
        <div class="small-3 columns">
            @Html.DisplayNameFor(m => m.UserPassword)<br />
            @Html.TextBoxFor(m => m.UserPassword, new { id = "register-loginpassword" })
        </div>
    </div>
    <div class="row">
        <div class="small-3 columns">
            @Html.DisplayNameFor(m => m.Email)<br />
            @Html.TextBoxFor(m => m.Email, new { id = "register-loginpassword" })
        </div>
    </div>
    <div class="row">
        <div class="small-3 columns">
            @Html.DisplayNameFor(m => m.FirstName)<br />
            @Html.TextBoxFor(m => m.FirstName, new { id = "register-login-firstname" })
        </div>
    </div>
    <div class="row">
        <div class="small-3 columns">
            @Html.DisplayNameFor(m => m.LastName)<br />
            @Html.TextBoxFor(m => m.FirstName, new { id = "register-login-firstname" })
        </div>
    </div>
    <div class="row">
        <div class="small-12 columns">
            <div class="left">
                <input type="submit" class="button radius small right" value="Register" />
            </div>

    </div>
</div>

}

我确保 jquery.validate.unobtrusive.js 和 jquery.validate.js 已添加到 _LayoutView.cshtml

这是 C# 视图模型

public class RegisterViewModel
    {
        public int AppUserId { get; set; }

        [Display(Name="Username")]
        [Required(ErrorMessage="Username is required")]
        public string LoginName { get; set; }

        [Display(Name = "Email")]
        [Required(ErrorMessage = "Email is required")]
        public string Email { get; set; }

        [Display(Name = "FirstName")]
        [Required(ErrorMessage = "FirstName is required")]
        public string FirstName { get; set; }

        [Display(Name = "LastName")]
        [Required(ErrorMessage = "LastName is required")]
        public string LastName { get; set; }

        [Display(Name = "Password")]
        [Required(ErrorMessage = "Password is required")]
        public string UserPassword { get; set; }
        public AddressViewModel Address { get; set; }


    }

我还是只有上面的截图

我想通了这个问题 was.This 将来可能会帮助像我这样的人

我在 _Layout.cshtml 和注册视图中遗漏了一些东西

1.Missed 这来自 _Layout 视图

<script>
    $(document).foundation()
</script>

2.Forgot 添加必需的 HTML5 属性和遵守验证用于显示模型错误的 html 标记

<div class="small-3 columns">
            @Html.DisplayNameFor(m => m.LoginName)<br />
            @Html.TextBoxFor(m => m.LoginName, new { id = "register-loginname" ,required=""})    
            <small class="error">Username is required</small>          
        </div>

而且验证非常有效