Проверить событие onclick формы через ajax jquery в cakephp

Я столкнулся с проблемой при проверке события onclick формы.

Я использую форму, но она не содержит кнопки или отправки события. вместо кнопки я использую <a>так как я могу управлять .valide() когда пользователь нажимает на <a> </a>?

Вот мой код ссылки ссылки, по которой пользователь нажимает кнопку, чтобы отправить форму:

<a  style="cursor: pointer" class="edit_submit_btn"><?php echo "Update"; ?></a>

JQuery код (работает нормально):

$(document).on('click','.edit_submit_btn',function(){

)};

но когда я пытаюсь проверить форму с помощью .validate, это не работает.

Вот код для проверки:

$('.user_edit').validate({

    onkeyup: false,
    errorClass: 'has-error-text',
    validClass: 'valid',
    rules: {
        "data[PersonMaster][first_name]": {
            required: true
        },
        "data[PersonMaster][last_name]": {
            required: true
        },
        "data[PersonMaster][email_address]": {
            required: true,
            email: true
        },
        "data[PersonMaster][mobile_number_code]": {
            required: true
        },
        "data[PersonMaster][mobile_number]": {
            required: true
        },
        "data[PersonMaster][country_id]": {
            required: true
        }
    },
    messages: {
        "data[PersonMaster][first_name]": {
            required: globalValidations.Modules.addUser.first_name
        },
        "data[PersonMaster][last_name]": {
            required: globalValidations.Modules.addUser.last_name
        },
        "data[PersonMaster][email_address]": {
            required: globalValidations.Modules.addUser.email_address,
            email:globalValidations.Modules.addUser.email_valid
        },
        "data[PersonMaster][mobile_number_code]": {
            required: globalValidations.Modules.addUser.mobile_number_code
        },
        "data[PersonMaster][mobile_number]": {
            required: globalValidations.Modules.addUser.mobile_number
        },
        "data[PersonMaster][country_id]": {
            required: globalValidations.Modules.addUser.country_code
        }
    },
    highlight: function(element) {
        alert("hi");

        $(element).closest('div').addClass("has-error");
    },
    unhighlight: function(element) {

        $(element).closest('div').removeClass("has-error");
    },
    errorPlacement: function(error, element) {

        $(element).closest('div').append(error);
    },
    submitHandler: function(form) {


        $("#loading_main").show();
        var data = $(form).serialize();
         var page_number = $("#page_value").val();

        $.ajax({
            url: site_url + "user_masters/edit_action",
            data: data,
            type: "POST",
            success: function(response) {

                $("#loading_main").hide();
                var response_object = jQuery.parseJSON(response);
                if (response_object.error_code == 0) {
                     UserloadPiece(site_url + "user_masters/user_list/" + (new Date()).getTime() + '/page:' + page_number + '', ".user-content-table-inner", '');
                //                        setTimeout(message_hide("alert", "", "alert-success"), 5000);
                } else if (response_object.error_code == '1') {
                    $("#alert-edit-profile").show();
                    $("#alert-edit-profile").removeClass("alert-success");
                    $("#alert-edit-profile").addClass("alert-danger");
                    $("#alert-edit-profile").html(response_object.message);
                } else if (response_object.error_code == '2') {
                    var i = 0;
                    $.each(response_object.message, function(field, error) {
                        if (field != "null") {
                            $(".has-error-text").empty();

                            $("#" + field + "_validation").closest('div').addClass("has-error");
                            $("#" + field + "_validation").text(error);
                            $("#" + field + "_validation").show();
                            if (i == 0)
                                $("#" + field).focus();
                            i = i + 1;
                        }
                    });
                }
                else if(response_object.error_code == '9'){
                    handle_redirect();
                }
            }
        });
    },
    error: function(jqXHR, textStatus, errorThrown) {
        alert("There is some error while processing your request. please try again later.");
        window.location.href = site_url + 'user_masters/login';
    }
});

1 ответ

Просто используйте идентификатор формы для проверки формы

$('#form_id').validate();

и в поле ввода добавьте атрибут

data-rule-required=true

и если вы хотите, чтобы пользовательские сообщения просто добавить другой атрибут

data-msg-required="Your message"

Другие вопросы по тегам