需要的数据值不是使用客户端验证生成的
data val required not generated using Client Side Validation
我正在尝试使用数据注释在 MVC 中使用客户端验证。
未生成数据 val 属性,客户端验证无效。
我的方法是:
public partial class User : BaseEntity
{
public User()
{
this.UserRoles = new List<UserRole>();
}
public int UserId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
我正在使用以上 class 作为部分 class 扩展:
[MetadataType(typeof(UserMetaData))]
public partial class User
{ }
public class UserMetaData
{
[Required]
public string FirstName { get; set; }
[Required]
public string LastName { get; set; }
}
包括视图:
@using (Html.BeginForm("Add", "user", FormMethod.Post, new { @class = "form-horizontal"}))
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
@Html.Partial("_UserDetails", Model)
<div class="col-md-12 col-sm-12 col-xs-12">
<div class="form-group">
<div class="col-md-12 col-sm-12 col-xs-12 pull-left">
<input type="submit" class="btn btn-primary btn_box" value="Add" id="formSubmit" />
</div>
</div>
</div>
}
_UserDetails 部分视图:
<div class="form-group">
<div class="col-md-4 col-sm-12 col-xs-12">@Html.Label("First Name :", new { @class = "col-sm-12 control-label text-label" })</div>
<div class="col-md-8 col-sm-12 col-xs-12">@Html.TextBoxFor(m => m.User.FirstName, new { @class = "form-control input-fild", @id = "firstname" })</div>
</div>
<div class="form-group">
<div class="col-md-4 col-sm-12 col-xs-12">@Html.Label("Last Name :", new { @class = "col-sm-12 control-label text-label" })</div>
<div class="col-md-8 col-sm-12 col-xs-12">@Html.TextBoxFor(m => m.User.LastName, new { @class = "form-control input-fild", @id = "lastname" })</div>
</div>
当我 运行 应用程序并查看视图源代码时 "data val" 属性未在控件上生成,因为它用于在正常 [Required] 属性中生成。
我错过了什么吗?
谢谢。
您是否在 Web.config 中启用了客户端验证?
<appSettings>
<add key="ClientValidationEnabled" value="true" />
</appSettings>
你能看看这个问题提供的解决方案吗? MVC 4 client side validation not working
还有一个在这个blog
中描述
我正在尝试使用数据注释在 MVC 中使用客户端验证。 未生成数据 val 属性,客户端验证无效。
我的方法是:
public partial class User : BaseEntity
{
public User()
{
this.UserRoles = new List<UserRole>();
}
public int UserId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
我正在使用以上 class 作为部分 class 扩展:
[MetadataType(typeof(UserMetaData))]
public partial class User
{ }
public class UserMetaData
{
[Required]
public string FirstName { get; set; }
[Required]
public string LastName { get; set; }
}
包括视图:
@using (Html.BeginForm("Add", "user", FormMethod.Post, new { @class = "form-horizontal"}))
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
@Html.Partial("_UserDetails", Model)
<div class="col-md-12 col-sm-12 col-xs-12">
<div class="form-group">
<div class="col-md-12 col-sm-12 col-xs-12 pull-left">
<input type="submit" class="btn btn-primary btn_box" value="Add" id="formSubmit" />
</div>
</div>
</div>
}
_UserDetails 部分视图:
<div class="form-group">
<div class="col-md-4 col-sm-12 col-xs-12">@Html.Label("First Name :", new { @class = "col-sm-12 control-label text-label" })</div>
<div class="col-md-8 col-sm-12 col-xs-12">@Html.TextBoxFor(m => m.User.FirstName, new { @class = "form-control input-fild", @id = "firstname" })</div>
</div>
<div class="form-group">
<div class="col-md-4 col-sm-12 col-xs-12">@Html.Label("Last Name :", new { @class = "col-sm-12 control-label text-label" })</div>
<div class="col-md-8 col-sm-12 col-xs-12">@Html.TextBoxFor(m => m.User.LastName, new { @class = "form-control input-fild", @id = "lastname" })</div>
</div>
当我 运行 应用程序并查看视图源代码时 "data val" 属性未在控件上生成,因为它用于在正常 [Required] 属性中生成。
我错过了什么吗? 谢谢。
您是否在 Web.config 中启用了客户端验证?
<appSettings>
<add key="ClientValidationEnabled" value="true" />
</appSettings>
你能看看这个问题提供的解决方案吗? MVC 4 client side validation not working
还有一个在这个blog
中描述