JQuery проверки и JQuery AJAX плагин формы представления - PullRequest
0 голосов
/ 01 декабря 2018

У меня есть форма, которую следует отправить с запросом ajax.Я использую плагин JQuery формы, чтобы сделать вызов AJAX.все отлично.но когда я проверяю эту форму с помощью плагина проверки jquery, форма отправки работает, даже форма недействительна.это мой код:

$.validator.addMethod('le', function (value, element, param) {
    return this.optional(element) || parseInt(value) >= parseInt($(param).val());
}, 'Invalid value');
$('#educational_records_form').validate({
    errorElement: "h6",
    rules: {
        edu_cert_start_year: {
            required: true,
            number: true

        },
        edu_cert_end_year: {
            required: true,
            number: true,
            le: '[name="edu_cert_start_year"]'
        }
    },
    messages: {
        edu_cert_end_year: {
            le: 'Must be less than bid price.'
        }
    },
    submitHandler:function (form) {
        $(form).ajaxSubmit();
    }
});

и моя форма:

$('#educational_records_form').submit(function () {
    if ($('[name="edu_still_student"]').prop('checked')) {
        $('[name="edu_cert_end_month"]').append('<option value="continued"></option>');
        $('[name="edu_cert_end_month"]').val('continued');
        $('[name="edu_cert_end_year"]').append('<option value="continued"></option>');
        $('[name="edu_cert_end_year"]').val('continued');
    }

    $(this).ajaxSubmit({
        success: function () {

            UIkit.modal('#new_edu_course').hide();
            $('#educational_records_form').resetForm();
            $('#edu_cert_end_box').removeClass('uk-hidden');
            $('#edu_cert_end_box').addClass('uk-animation-fade');
            $('#edu_cert_start_box').removeClass('uk-width-1-1@l');
            $('#edu_cert_start_box').addClass('uk-width-1-2@l');

        },
        fail: function () {
            alert('fail');
        }
    });
    return false;
});

извините за слабый английский.Я работаю над этой проблемой в течение 2 недель!но я не могу решить это.Большое спасибо.

1 Ответ

0 голосов
/ 02 декабря 2018

попробуйте

$('#educational_records_form').submit(function (e) {
 e.preventDefault();
if($("#educational_records_form").valid()){
if ($('[name="edu_still_student"]').prop('checked')) {
    $('[name="edu_c`enter code here`ert_end_month"]').append('<option value="continued"></option>');
    $('[name="edu_cert_end_month"]').val('continued');
    $('[name="edu_cert_end_year"]').append('<option value="continued"></option>');
    $('[name="edu_cert_end_year"]').val('continued');
}

$(this).ajaxSubmit({
    success: function () {

        UIkit.modal('#new_edu_course').hide();
        $('#educational_records_form').resetForm();
        $('#edu_cert_end_box').removeClass('uk-hidden');
        $('#edu_cert_end_box').addClass('uk-animation-fade');
        $('#edu_cert_start_box').removeClass('uk-width-1-1@l');
        $('#edu_cert_start_box').addClass('uk-width-1-2@l');

    },
    fail: function () {
        alert('fail');
    }
});
}
});
...