클라이언트 측 유효성 검사 및 유효성 검사 요약은 내 프로젝트 (MVC4 + Razor + Unobtrusive JS)에서 제대로 작동하지만 서버 측 오류는 내보기에 표시되지 않으며 클라이언트 측 오류가있는 경우, 뷰에서 제거되지는 않습니다 (ModelState에서 제거됩니다). Chrome14와 IE9에서 모두 시도했습니다.서버 측 오류에 대한 ValidationSummary가 작동하지 않습니다.
서버 쪽 오류는 ModelState.AddModelError(string.Empty, ModelState.AllErrors());
으로 모델에 추가되었으며 @Html.ValidationSummary(false)
으로 표시되었습니다.
편집
잘 작동 제출간단한 형태로, 그것은 여러 오류 메시지가 서버 및 업데이트 오류 메시지에서 반환 표시하지만, AJAX 기반 양식은 AJAX 기반 양식에 의해 반환 된 오류 메시지입니다 제출을 작동하지 않는 제출 전혀 표시되지 않습니다. 여기
는 요청@*... View contents related to Master Model ...*@
@using (Ajax.BeginForm("ActionToAddRecord", new AjaxOptions()))
{
@Html.Action("ActionToAddRecord")
<input type="submit" value="Add Record"/>
}
@*... View contents related to Master Model ...*@
ActionToAddRecord가
오류
[HttpGet]
public ActionResult ActionToAddRecord()
{
return View();
}
[HttpPost]
public ActionResult ActionToAddRecord(childModel model)
{
ModelState.AddModelError(string.Empty, "First error message");
ModelState.AddModelError(string.Empty, "Second error message");
return View(model);
}
로 반환 마스터 모델에 포함 된 모델을 나타내는 부분 단면도이다 제조되고 있는지의 샘플 데모 인
편집
VS2010에 의한 템플리트 된 MVC 애플리케이션에서 유사한 기능을 보았습니다.이 기능은 대화 상자 기반의 로그인 형식입니다. 오류 메시지가 Json으로 반환 된 다음 JS가이를 표시하는 데 사용 중이며, MS가 Ajax 기반 요청을 매우 쉽고 간결하게 (Ajax.BeginForm
) 만들었지 만 오류 처리 부분이 누락 된 것처럼 보입니다. 지금은 JS를 사용하고 싶지 않습니다. 이런 유형의 오류 처리를 자동으로 처리하는 더 좋은 방법이있을 수 있습니다.