MVC 3의 클라이언트 측 유효성 검사를위한 바인더 제본되지 않습니다 새로 추가 된 나는 AJAX 양식 MVC에있는 3. 인덱스보기에서양식 요소가
:
<div id="ajaxcontactform">
<% Html.RenderPartial("ContactForm", Model); %>
</div>
것은 ContactForm 부분보기에
AJAX 형태
<% using (Ajax.BeginForm("Contact", new AjaxOptions()
{
UpdateTargetId = "ajaxcontactform",
OnBegin = "ShowProcessing",
OnComplete = "HideProessing",
InsertionMode = InsertionMode.Replace
}))
{%>
<%: Html.ValidationSummary()%>
<%: Html.TextBoxFor(m => m.Name, new { Class = "contacttextform" })%>
<%}%>
내 컨트롤러 :
[HttpPost]
public ActionResult Contact(ContactForm form)
{
if (Request.IsAjaxRequest())
{
// on error
if (!ModelState.IsValid)
return PartialView("ContactForm", form);
// TODO: My data processing code here
// return partial view on success
return PartialView("ContactForm", new ContactFormModel());
}
}
내 클라이언트 측 사용자 지정 유효성 검사 JavaScript 코드 : 방금 마스터 페이지에서이 파일을 참조했습니다. 이 코드는 DOM이로드/생성 될 때 한 번 실행됩니다.
$.validator.addMethod("phonenumber", function (value, element, params) {
if (!value)
return true;
var regex = /^[\s\d\+\(\)]+$/;
return regex.test(value);
});
jQuery.validator.unobtrusive.adapters.addBool("phonenumber");
페이지를 처음로드 할 때 내 클라이언트 측 유효성 검사가 정상적으로 작동합니다. 그러나 일단 양식을 성공적으로 제출하고 양식을 다시 제출하십시오. 클라이언트 쪽 유효성 검사가 작동하지 않고 양식이 서버 쪽의 유효성을 검사합니다.
새 요소를 추가하거나 부분 뷰를 다시 렌더링 한 후 클라이언트 측 유효성 검사를 다시 바인딩하고 싶습니다.
또한 성공적으로 제출 된 양식 값은 어떻게 정리해야합니까?
감사합니다,
감사 대린합니다. 부분 뷰를 다시 렌더링 한 후 클라이언트 측 유효성 검사가 작동합니다. 건배 – jNet