asp.net-mvc-2 - asp net core mvc 차이




ModelState.AddModelError-속성이 아닌 오류를 추가하려면 어떻게해야합니까? (2)

Create(FooViewModel fvm){...} 에서 데이터베이스를 검사하여 fvm.prop1fvm.prop2 이미 해당 조합에 있는지 확인합니다. 그렇다면 modelstate에 오류를 추가하고 전체보기를 반환하고 싶습니다. 나는 시도했다 :

public ActionResult Create(FooViewModel fvm){
    if (ThatComboAlreadyExists(fvm)) {
      ModelState.AddModelError("Model", "There is already one like that");
      return View(fvm);
    }
}

...하지만 나는 Html.ValidationSummary 에 오류를 표시하지 않습니다. 이는 그들이 나타날 것이라고 가정하는 곳입니다. 나는 "모델"이 올바른 열쇠가 아니라는 의심을 가지고 있지만, 나는 라 구글을 찾을 수 없었다.


결국 나는 찾고 있던 사용법 의 예 를 우연히 발견했다. 일반적인 경우처럼 모델 중 하나의 속성이 아닌 모델에 오류를 지정했다.

ModelState.AddModelError(string key, string errorMessage);

키에 빈 문자열을 사용하십시오.

ModelState.AddModelError(string.Empty, "There is something wrong with Foo.");

오류 메시지는 예상대로 <%: Html.ValidationSummary() %> 됩니다.


모델 도트 속성을 문자열에 넣으면 나를 위해 일했습니다. ModelState.AddModelError("Item1.Month", "This is not a valid date");





modelstate