0

コントローラの削除アクション中に検証を実行する必要があります。ASP.net MVC3には、このタイプの検証を支援するものがありますか?属性を使用して編集の検証を処理できることは知っていますが、削除についてはどうでしょうか。

たとえば、エンティティオブジェクトの状態を確認する必要があり、特定の条件が満たされた場合、それらを削除することはできません。エラーをチェックして表示するための最良の方法は何ですか

4

1 に答える 1

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、表示したいエラー/警告を表示するために使用できます。

于 2012-11-01T06:32:29.543 に答える