2012-03-01 12 views
1

私はいくつかの条件を評価し、MVCで "部分的な検証手法"を実装する必要があります。 問題は、ちょうど場合によっては、検証結果がただちに警告を表示し、モデルを検証できることです。他の条件のベースではエラーが返されるはずです。出来ますか?MVC:警告を表示してモデルを検証する、「部分的な検証」テクニックの使用方法

私は部分的な検証を実装するためにthis answerから始めています:

私はすでに述べたように、私は**(例えば、電子メールアドレスの提案のための)検証結果を表示するが、に関するすべてのエラーをクリアする必要が
 public class DontValidateEmailAttribute : ActionFilterAttribute 
     { public override void OnActionExecuting(ActionExecutingContext filterContext) 
       { 
        var modelState = filterContext.Controller.ViewData.ModelState;  
        var incomingValues = filterContext.Controller.ValueProvider;  
        var key = modelState.Keys.Single(x => incomingValues.Equals("Email")); 
        modelState[key].Errors.Clear(); 
        } 
      } 

検証済みの属性 これは正しい方向ですか、または検証辞書などの他の手法を使用する必要がありますか?

UPDATE 私はまだ開いている、この質問はthis oneに関連していることに気づきました。

答えて

1

ModelStateのエントリを削除しても、それほどきれいに見えません。

妥当性検査のルールが多数でない場合、検証メッセージを(ModelStateのエラーではなく)他のコレクションに入れた標準のもの(WeakRequiredAttributeなど)から継承することができます。

+0

Zrutyさん、ありがとうございます。 'WeakRequiredAttribute'のような標準的な検証属性についていくつかの例やリファレンスを教えてください。 – Larry

+0

Larry、この属性は存在しません。私はちょうど 'RequiredAttribute'の子孫の名前を示唆していました。 – Zruty

関連する問題