コントローラーでは、DB ルックアップなどを実行し、モデル プロパティに関連付けられたエラー メッセージを追加できます。
public ActionResult CreateJob(CreateJobModel viewModel)
{
var call = FindCall(viewModel.CallNumber);
if (call == null)
{
ModelState.AddModelError("CallNumber", "Idiot User!");
}
}
CallNumber が文字列であることは好きではありません。理想的には、viewModel.CallNumber を直接参照する必要があり、そのプロパティの名前を変更する場合は、それも変更する必要があります。
どうすればこれを達成できますか?
コードは次のようになり、プロパティ アクセス式を使用することになると思います。
AddModelFieldError(() => viewModel.CallNumber, "Idiot User!");
しかし、そのようなメソッドを作成する方法、またはエラーメッセージが必要なサブ/内部プロパティの場合はわかりません。