フォームで Jquery 検証を使用し、.on(submit) コードで Ajax 関数も使用しています。
問題は、検証が間違っていても .on(submit) 関数がまだ実行されることです。
フォームが正しく検証された場合にのみ実行されるように、検証コードに追加して .on(submit) コードを追加する「検証成功の場合」コードのタイプはありますか?
これは .on(submit) 関数です
$('#valform').on('submit', function (e){
e.preventDefault();
$.ajax({
type: "POST",
url: "<?php echo MAXINBOUND_PLUGIN_URL ?>/php/localProxy.php",
data: $('#valform').serialize(),
success: function (response) {
alert('Great!');
// do something!
},
error: function () {
alert('There was a problem!'); // handle error
}
});
});
これが検証コードです
$("#valform").validate({
invalidHandler: function(form, validator) {
success: function (response) {
var errors = validator.numberOfInvalids();
if (errors) {
$("#error-message").show().text("Please correct the required field(s)");
} else {
$("#error-message").hide();
}
},
messages: {
agree: {
required: ""
},
phone1: {
required: ""
},
address1: {
required: ""
},
},
rules: {
agree: {
required: true,
},
phone1: {
required: true,
phoneUS: true
},
Address1: {
required: true,
addr: true,
},
},
});