2013-08-15 5 views
6

検証要約の表示に問題があります。フィールドの横には表示されず、検証サマリーにエラーが表示されます。私は持っている私の見解で 、私のコントローラでMvc 4検証要約エラーが表示されない

@Html.ValidationSummary() 
    @Html.ValidationMessageFor(m =>m.Name) 

私は

ModelState.AddModelError("Name", 
           "name is required"); 

を持っているiは検証エラーメッセージを取得することになっていないだろうか?頂点で?

+1

http://stackoverflow.com/questions/2818219/asp-この質問を見ますnet-mvc-html-validationsummarytrue-does-not-display-model-errors – xurca

+0

私はこの質問を投稿する前にその解決策を試みました。私は何が足りないのか分かりません。 –

+0

ええ、私はそれらが矛盾しているとは思わないが、要約だけが必要な場合は '@ Html.ValidationMessageFor(m => m.Name)は必要ありません。 – asymptoticFault

答えて

26

をお試しください 私は...私は行方不明です私はまた、これらのスクリプトファイルを含めています

.. jquery.validate.min.js jquery.validate.unobtrusive.min.jsを得ることはありません

@Html.ValidationSummary(false) 

プロパティのエラーを除外しないようにします。

OR

は、それが特定のプロパティに結び付けられていないので、空のキーとモデル誤差を追加することであるリンク@xurca方法を試してみてください。

ModelState.AddModelError(String.Empty, "name is required"); 
+0

私はこれを試しましたが、まだ動作していません。私は何が足りないのかわからない。 –

+1

私は同時にVS '12とVS '13という2つのプロジェクトに取り組んでいる。いずれにしても、デフォルトテンプレートでは'13では問題はありませんでしたが、TRUEをFALSEに設定すると'12プロジェクトで私のために解決しました(あなたの投稿ごとに)。とにかく、ポストのおかげで。 –

2

カスタム

@Html.TextBoxFor(model => model.Name, new { id = "staffSearchFilterName", value = "", **Name = "staffSearchFilterName"** }) 

のようなあなたのフィールドの名前なら、あなたは@ Html.ValidationSummary()呼び出しは、パーシャルビューにDONある場合

@Html.ValidationMessage("staffSearchFilterName") 
0

を使用する必要があります」 Tは次のようにデータを部分ビューに渡します。

@Html.Partial("_YourForm", Model, new ViewDataDictionary { { "Submit", true }}) 

は代わりに、最初のHtml.ViewDataコレクションにキーと値のペアを追加します。

@{ 
    Html.ViewData.Add(new KeyValuePair<string,object>("Submit",true)); 
} 

は、部分ビューを呼び出します。

@Html.Partial("_YourForm", Model, Html.ViewData) 

これはにModelStateが適切に部分図に伝播することができます。

-1
コントローラのカスタムエラーで

ModelState.AddModelError("test","test"); 

概要:

@Html.ValidationSummary(false, "", new { @class = "text-danger" }) 

個々のフィールド:

@Html.TextBoxFor(m => m.FieldName, new { @class= "form-control" }) 
    @Html.ValidationMessageFor(m => m.FieldName, "", new { @class = "text-danger" }) 
関連する問題