Это правило работало, когда я использовал форму php, но как только я переключился на ajax, правило нарушается, в то время как правила в оригинальных правилах jquery.validate.min.js (например, проверка номеров электронной почты и номеров кредитных карт) работают , Я сохранил свое пользовательское правило в другом файле и убедился, что оно связано с моей страницей. Когда я нажимаю кнопку «Отправить», оставив поле пустым, я получаю сообщение об ошибке. Но когда я ввожу информацию в неправильном формате, страница перезагружается и ничего не отправляется, и при этом я не получаю сообщение об ошибке.
Вот правило
$.validator.addMethod("format",function(a,b){return this.optional(b)||/^[A-Z]{3,4}[0-9]
{3,4}$/.test(a)},"Please enter in the valid format");
вот скрипт ajax:
$(document).ready(function(){
$("#myform").validate({
debug: false,
rules: {
course: {
required: true,
format: true},
},
messages: {
course: "Please enter in the correct format.",
},
submitHandler: function(form) {
// do other stuff for a valid form
$.post('process_form.php', $("#myform").serialize(),
function(data) {
$('#results').html(data);
});
}
});
});