データ注釈付きの標準EFモデルがあります。2つの列があります。1つはIDで、もう1つはブール値です。データベースでは、両方ともnull許容ではありません。ただし、どちらも「非表示」属性のフラグが付けられています。フォームをサーバーにポストバックするまで、これはすべてUIに最適です。
モデルの検証に失敗します。スティーブンサンダーソンの提案でアクションフィルターを作成しようとしましたが、検証のためにサーバーに返さない値を削除できませんでした。私は結局、かなり醜いと思う次のことに戻りました:
try
{
ModelState["LocationId"].Errors.Clear(); -- Really ugly!
ModelState["IsEnabled"].Errors.Clear(); -- Seems really trashy to do it this way
if (ModelState.IsValid)
{
location.IsEnabled = true; -- This will eventually move to my model definition
_repo.InsertOrUpdate(location);
_repo.Save();
return RedirectToAction("Index");
}
return View();
}
catch (DataException ex)
{
ModelState.AddModelError("dataError", ex);
return View();
}
これをクリーンアップする方法やより良いソリューションを作成する方法について、他に何か提案やアイデアはありますか?
ありがとう