1

Person と Nationality の 2 つのテーブルがあります。Person は NationalityID を介して Nationality テーブルへの FK を持っています。Create Person フォームには、NationalityID と NationalityDescription が入力されたドロップダウンがあります。このドロップダウンを検証して、開発者ツールバーなどを使用して投稿された値を無効な NationalityID に変更する人々に対処する最良の方法は何ですか? ビューモデルで System.DataAnnotations.AssociationAttribute を使用することを検討してきましたが、これが必要かどうかはわかりません。

4

1 に答える 1

1

この種の検証は、ビジネス レイヤーで実行する必要があります。例えば:

[HttpPost]
public ActionResult Update(int nationalityId, int personId)
{
    string error;
    if (!Repository.TryUpdatePersonNationality(personId, nationalityId, out error))
    {
        // The business layer failed to perform the update 
        // due to FK constraint violation => add the error to model state
        ModelState.AddModelError(nationalityId, error);
        // redisplay the form so that the user can fix the error
        return View();
    }
    return RedirectToction("Success");
}
于 2011-01-13T10:13:22.540 に答える