2011-01-12 9 views
1

私は2つのテーブル、人と国籍を持っています。人は国籍IDを介して国籍表にFKを持っています。 Create Personフォームには、NationalityIDとNationalityDescriptionが入力されたドロップダウンがあります。投稿された値を無効な国籍IDに変更するために、開発者のツールバーなどを使用する人々に対処するために、このドロップダウンを検証する最良の方法は何ですか? 私はviewmodelでSystem.DataAnnotations.AssociationAttributeを使用してみましたが、これが必要なのかどうかはわかりません。ASP.NET MVC3のデータベースから作成されたドロップダウンリストを検証する方法は?

答えて

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"); 
} 
関連する問題