您好我有2个表名tblGroup
和tblSubGroup
而tblGroup
有GroupId
这是主要的,tblSubGroup
有Groupid
是外国的键。
以下是为他们生成的模型
tblGroup模型
public partial class tblGroup
{
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
public tblGroup()
{
this.tblSubGroups = new HashSet<tblSubGroup>();
}
public int GroupID { get; set; }
[Required(ErrorMessage = "Group Name is Required")]
public string Title { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<tblSubGroup> tblSubGroups { get; set; }
}
tblSubGroup模型
public partial class tblSubGroup
{
public int SubGroupID { get; set; }
[Display(Name = "tblGroup")]
public int GroupID { get; set; }
[Required(ErrorMessage = "SubGroup Name is Required")]
public string Title { get; set; }
public virtual tblGroup tblGroup { get; set; }
}
现在删除From GroupTable
的记录时,它会给出问题。相反,我需要validate
一条消息“此记录与另一个表或实体绑定。因此无法删除”。我需要展示这种信息。
我是新手,我不知道这件事是否可能
答案 0 :(得分:1)
由于您需要使用数据库进行验证,因此将此类验证移至服务器。
[HttpPost]
public ActionResult Delete(Group group)
{
var grp = db.Group.FirstOrDefault(g => g.Id == group.Id);
if (HasSubGroups(grp))
{
ModelState.AddError("DeleteValidation", "Cannot delete while sub-groups exists");
return View(group);
}
// delete normally ...
}
然后,您可以通过多种方式在视图上显示错误。最简单的只是展示收藏品。
@Html.ValidationSummary()