반응형
ModelState.AddModelError-속성이 아닌 오류를 어떻게 추가합니까?
데이터베이스 Create(FooViewModel fvm){...}
를 확인하여 fvm.prop1
및 fvm.prop2
이 조합에 이미 있는지 확인합니다 . 그렇다면 모델 상태에 오류를 추가하고 전체보기를 반환하고 싶습니다. 나는 시도했다 :
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() %>
예상대로 표시됩니다 .
모델의 모든 속성에 모델 오류를 추가 할 수 있습니다. 새 속성을 만드는 것과 관련이없는 것이 좋습니다.
예를 들어 전자 메일이 DB에서 이미 사용 중인지 확인하고 조치에서 Email 속성에 오류를 추가하여보기를 반환 할 때 오류가 있음을 알고 사용하여 표시하는 방법
<%: Html.ValidationSummary(true)%>
<%: Html.ValidationMessageFor(model => model.Email) %>
과
ModelState.AddModelError("Email", Resources.EmailInUse);
모델 도트 속성을 문자열에 넣는 것이 나를 위해 일했습니다. ModelState.AddModelError("Item1.Month", "This is not a valid date");
반응형
'Programing' 카테고리의 다른 글
동기 프로그래밍과 비동기 프로그래밍의 차이점은 무엇입니까 (node.js에서) (0) | 2020.05.19 |
---|---|
Visual Studio Code에서 닫는 대괄호로 이동 (0) | 2020.05.19 |
`Optional.orElse ()`와`Optional.orElseGet ()`의 차이점 (0) | 2020.05.19 |
반응 성분을 다른 반응 성분으로 전달하여 첫 번째 성분의 내용을 포함시키는 방법은 무엇입니까? (0) | 2020.05.19 |
Tornado 사용시기, Twisted / Cyclone / GEvent / 기타 사용시기 (0) | 2020.05.19 |