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>
而且验证非常有效
我正在尝试将 Foundation 5 遵守验证连接到我的 MVC 5 view.When 我留下必填字段并尝试提交表单,我看到所有必填字段都以红色突出显示,但我想在 Required(ErrorMessage="username is required"]
中查看我添加到 C# 视图模型中的错误消息这些是我已经添加的东西
<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>
而且验证非常有效