创建提交错误:一个或多个实体的验证失败。查看'EntityValidationErrors'物业了解更多详情



我收到错误

一个或多个实体的验证失败。有关更多详细信息,请参阅"实体验证错误"属性。

尝试在简单的创建页面上提交时。下面是控制器代码和型号。我无法弄清楚问题是什么。

除 ID 之外的所有字段在 SQL 中都可为空。我知道问题来自字段分辨率和技术人员 - 如果我将它们放在创建表单上(他们现在不在上面,因为我不希望他们填写(提交工作正常 有什么想法吗?

谢谢 EB

控制器:

public ActionResult Create()
{
HelpDesk b1 = new HelpDesk();
return View(b1);
}
[HttpPost]
public ActionResult Create(HelpDesk model)
{
db.HelpDesks.Add(model);
db.SaveChanges();
return RedirectToAction("Index");
}

型:

public int ID { get; set; }
[DisplayName("Requested By")]
public string RequestedBy { get; set; }
[Required(ErrorMessage = "Requested By Required.")]
public string Request { get; set; }
[Required(ErrorMessage = "Request Required.")]
public string Resolution { get; set; }
[DisplayName("Assigned To")]
public string Technician { get; set; }
public string Status { get; set; }
public string CreatedBy { get; set; }
public string ModfiedBy { get; set; }
public Nullable<System.DateTime> CreateDate { get; set; }
public Nullable<System.DateTime> ModifiedDate { get; set; }

除 ID 之外的所有字段在 SQL 中都可为空。

这不是您告诉实体框架的内容,而是引发错误的原因。 (而且,正如错误所指示的那样,您确实应该检查异常或内部异常上的EntityValidationErrors属性,以获取有关错误的特定信息。 您告诉实体框架这些字段是必需的:

[Required(ErrorMessage = "Requested By Required.")]
public string Request { get; set; }
[Required(ErrorMessage = "Request Required.")]
public string Resolution { get; set; }

(从属性上的消息来看,您似乎混淆了一些属性属性。

我知道问题来自字段分辨率和技术人员 - 如果我将它们放在创建表单上(他们现在不在上面,因为我不希望他们填写(,提交工作正常

听起来这就是问题所在。Resolution标记为必需,而您不包括它。 要么包括它,要么不让它成为必需的。

相关内容

最新更新