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