【发布时间】:2018-02-25 15:23:05
【问题描述】:
当我在 Register.cshtml 视图页面中按下表单中的注册按钮时,会出现此验证异常。
System.Data.Entity.Validation.DbEntityValidationException: '一个或多个实体的验证失败。有关详细信息,请参阅“EntityValidationErrors”属性。'
@*Registration form*@
<section class="registersection">
<div class="container-fluid">
<div class="row">
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
<form action="~/Users/SaveRegister" method="post">
@using (Html.BeginForm())
{
@Html.ValidationSummary(true)
@Html.AntiForgeryToken()
<div class="editor-label">
@Html.LabelFor(model => model.user_name)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.user_name)
@Html.ValidationMessageFor(model => model.user_name)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.user_passport)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.user_passport)
@Html.ValidationMessageFor(model => model.user_passport)
</div>
<p>
<input type="submit" value="Register" />
</p>
}
</form>
</div>
</div>
</div>
</section>
我的用户模型
@*Program.cs@* Model
public class User
{
public int userid { get; set; }
[Display(Name ="Passenger Name")]
[Required(ErrorMessage ="Your name is required")]
public string user_name { get; set; }
[Display(Name = "Passenger Father Name")]
[Required(ErrorMessage = "Your Father name is required")]
public string user_fname { get; set; }
[Required]
[Display(Name = "CNIC")]
[RegularExpression(@"^[0-9+]{5}-[0-9+]{7}-[0-9]{1}$", ErrorMessage = "Entered CNIC format is not valid.")]
public string usercnic { get; set; }
[StringLength(8, MinimumLength = 7)]
public string user_passport { get; set; }
[StringLength(15, MinimumLength = 10)]
public string user_bloodGp { get; set; }
[StringLength(35, MinimumLength = 30)]
public string user_nationality { get; set; }
public string usertype { get; set; }
public string status { get; set; }
[Required]
[Range(0,8)]
public int mobilenumber { get; set; }
public string gender { get; set; }
}
public class BloggingContext : DbContext
{
public DbSet<Plane> Planes { get; set; }
public DbSet<User> Users { get; set; }
}
我在 global.asax 中添加了这个 Database.SetInitializer(new DropCreateDatabaseIfModelChanges());
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
Database.SetInitializer<AirlineappContext>(new DropCreateDatabaseIfModelChanges<AirlineappContext>());
}
【问题讨论】:
标签: c# asp.net-mvc validation ef-code-first registration