0

現在、ViewBag.HasErrorコントローラーで設定し、ビューでその変数を使用して、検証メッセージを提供する html を画面に書き込む必要があるかどうかを判断しています。

start.cshtml:

@if (ViewBag.HasError != null && ViewBag.HasError)
{
  <tr>
    <td colspan="2">
      @Html.ValidationMessageFor(m => m.Email)<br />                
    </td>
  </tr>
}

フレームワーク内にすでに似たようなものはありますか?

4

1 に答える 1

1

これにはフラグは必要ありません。フレームワークにはすでにすべてが用意されています。ValidationMessageFor実行時にはModelState、この特定のメッセージが含まれているかどうかがチェックされます。メッセージが見つかった場合 (検証が完了したことを意味します)、それが表示されます。それ以外の場合、このメソッドは出力に何も追加しません。

ただし、ビューでモデルの状態を確認できる組み込み機能がいくつかあります。モデルが一般的に有効であることを確認する方法は次のとおりです(実装したものと同様):

@ViewData.ModelState.IsValid

特定のフィールドのエラーを確認する方法は次のとおりです。

@ViewData.ModelState["Email"].Errors.Count != 0
于 2013-07-11T10:55:35.903 に答える