기존 폼을 hijaxing하고 서버에 게시 중입니다. jQuery validate는 대부분의 유효성 검사를 수행하지만 서버에서 유효성 검사가 실패하면 JSON으로 클라이언트에 오류를 반환합니다.jquery의 오류를 확인하는 방법
<script type="text/javascript">
$(function() {
$("form").submit(function (e) {
var $form = $(this);
var validator = $form.data("validator");
if (!validator || !$form.valid())
return;
e.preventDefault();
$.ajax({
url: "@Url.Action("index")",
type: "POST",
data: $form.serialize(),
statusCode: {
400: function(xhr, status, err) {
var errors = $.parseJSON(err);
validator.showErrors(errors);
}
},
success: function() {
// clear errors
// validator.resetForm();
// just reload the page for now
location.reload(true);
}
});
});
});
</script>
문제는 내가 POST가 성공하면 유효성 검사 오류를 취소 할 수없는 것입니다 : 아래
는 것을 수행하는 코드이다.validator.resetForm()
을 호출 해 보았습니다.하지만 차이는 없습니다.
showError()
호출로 추가 된 오류 메시지는 계속 표시됩니다.
참고 jQuery.validate.unobtrusive 플러그인도 사용하고 있습니다.
당신은 전체 코드를 게시하시기 바랍니다 수 있습니까? –
너무 많지는 않지만 어쨌든 전체 스크립트를 게시했습니다. –
그냥이 라인이 효과가 있습니까? validator.showErrors (errors); –