2012-03-30 13 views
1

モデルが検証をパスしなかった場合、ModelState.AddModelErrorを使用してユーザーにエラーメッセージを表示しています。検証がパスされたときに情報メッセージを表示する最善の方法は何ですか?私は追加のHTML要素を追加したくありません。 ModelStateオブジェクトを使用して情報メッセージを送信することはできますか?ModelState.AddModelError代替

答えて

0

使用することができますが、最初のページに到着したときに、これはすべての時間にも表示させたくない場合は、

@if (ViewData.ModelState.IsValid) 
{ 
    <div>Your model is valid</div> 
} 

明らかに対応するメッセージを、モデルが有効であるかどうかをテストし、表示することができますメッセージを表示するかどうかを示す追加のビューモデルのブール値プロパティ。すべてが検証とビューの通過時次に、あなたのPOST内のアクションは、その値をtrueに設定します。

@if (Model.ShouldShowSuccess && ViewData.ModelState.IsValid) 
{ 
    <div>Your model is valid</div> 
} 
0

私は成功の記事を表示するPartialViewを構築しました。 Html.ValidationSummary()の近くにあります。私のコントローラで

@Html.ValidationSummary() 

@if (ViewData.ModelState.IsValid && TempData["ModelIsValidMsg"] != null) 
{ 
    @Html.Partial("PostSuccess", TempData["ModelIsValidMsg"]) 
} 

if (ModelState.IsValid) 
{ 
    TempData["ModelIsValidMsg"] = "Your success msg"; 
} 
else 
{ 
    ModelState.AddModelError("Your error msg"); 
} 

私が表示さPartialViewインサイド

にModelStateが私の見解で、私はこれを持っているので、私は、IsValidのメッセージでTempDataを変数に値有効である

TempDataメッセージ