2015-01-16 5 views
0

MVC 프로젝트에서 작업 중이며 ModelStateWrapper 내부에서 오류 메시지를 즉시 업데이트 할 수 있기를 원하지만 문제는 특정 키에 대해 설정된 메서드가없고 dictionarry가 읽기 전용이라는 것입니다.ModelStateDictionary에서 오류 값을 업데이트하는 방법은 무엇입니까?

  var x = new ModelStateDictionary(this.ModelState); 

      foreach (var item in x.modelState) 
      { 
        if (item.Value.Errors.Count > 0) 
        { 
         foreach (var y in err.errors) 
         { 
          if (item.Key == y.Key) 
          { 
           //Some magic needed here to update error name with y.Key        } 
         } 
        } 

       } 

아이디어를 얻는 방법은 무엇입니까?

+0

그냥 생각을하지만, 당신은 항상 개인 세터를 실행하려고 시도 할 수 있으며 리플렉션 (Reflection)과 함께하는 방법, 불만 스러울 수도 있습니다. – Tejs

답변

1

당신과 함께 모델 상태 사전에 오류를 추가 할 수 있습니다 : 당신이 할 수있는 오류 변경하려면

ModelState.AddModelError("ErrorKey", "Error Message"); 

:

ModelState.Remove("ErrorKey"); 
ModelState.AddModelError("ErrorKey", "New Error Message"); 
관련 문제