我需要在我的控制器中的删除操作期间执行验证。 ASP.net MVC3有什么可以帮助这种类型的验证吗?我知道你可以使用属性来处理编辑验证但是删除呢?
例如,我需要检查实体对象的状态,如果满足某个条件,则不允许删除它们。什么是检查和显示错误的最佳方法
答案 0 :(得分:1)
您可以将删除操作设置为如下所示,您可以通过调用方法CanThiBeDeleted()
之类的示例来检查您的情况,如果没有,则可以向模型添加错误说明并将其发送回视图,此时将显示此错误消息。
public ActionResult Delete(string id)
{
if(!_service.CanThisBeDeleted(id))
{
ModelState.AddModelError("", "Sorry this cannot be deleted !");
return View();
}
bool isItemDeleted = false;
isItemDeleted = _service.DeleteItem(id);
if(isItemDeleted)
{
// if deleted send where you want user to go.
return RedirectToAction("Index");
}
else
{
ModelState.AddModelError("", "Delete operation failed.");
return View();
}
}
您的观点可以使用@Html.ValidationSummary
来显示您想要显示的错误/警告。