jQuery-Validate в просьбе AJAX

Я хотел бы знать, как реализовывать следующее, у меня есть функция, чтобы мочь издавать данные о формуляре, используя CodeIgniter и AJAX, но я хочу санкционировать это с jQuery-Validate. Как он бы это сделал перед просьбой? Это мой код, функционирует хорошо:

function edit(id = null) {

    if (!id) {
        alert('error');
        return;
    }
    $.ajax({
        url: 'roles/get_data_id/' + id,
        type: 'post',
        dataType: 'json',
        success: function(response) {
            $("#edit_name").val(response.Name);
            $("#edit_description").val(response.Description);      

            $("#form_edit").unbind('submit').bind('submit', function() {
                var form = $(this); 

                $.ajax({
                    url: form.attr('action') + '/' + id,
                    type: 'post',
                    data: form.serialize(),
                    dataType: 'json',
                    success: function(response) {
                        if(response.success === true) {
                            $("#modal_edit").modal('hide');

                            alert('se actualizo');

                            $("#form_edit")[0].reset();
                            table_data.ajax.reload(null, false);  
                        } else {
                            $("#modal_edit").modal('hide');
                            alert('Error al actualizar');
                        }
                    }// /succes
                }); // /ajax
                return false;  
            });       
        }
    });
}

... и это код, что я не умею добавлять это, где, это мои правила утверждения.

$('#form_edit').validate({
    highlight: function (input) {
        $(input).parents('.form-line').addClass('error');
    },
    unhighlight: function (input) {
        $(input).parents('.form-line').removeClass('error');
    },
    errorPlacement: function (error, element) {
        $(element).parents('.form-group').append(error);
    }
});
1
задан 25.01.2017, 19:38
0 ответов

Когда ты добавляешь правила утверждения полей и определяешь, как он будет действовать посредством errorPlacement, ты можешь размещать код в начале этикеток рукописного шрифта, но чтобы реализовывать утверждение твоего формуляра, должен делать это с методом:

if ($("#form_edit").valid()) {
//llamada a AJAX si el formulario es valido
}
1
ответ дан 03.12.2019, 17:30
  • 1
    я не понимаю очень хорошо, где остались бы мои правила утверждения –  26.01.2017, 14:32
  • 2
    Твои правила утверждения querdarí an в начале этикетки < script> и có я говорю, что я властвовал, или перед $ (" #form_edit") .unbind (' submit') .bind (' submit' function () { или перед $ .ajax ({ –  26.01.2017, 14:33

Осталось бы нечто похожее:

// La variable validación tomar la respues del plugin
   var validacion = $('#form_edit').validate({
        highlight: function (input) {
            $(input).parents('.form-line').addClass('error');
        },
        unhighlight: function (input) {
            $(input).parents('.form-line').removeClass('error');
        },
        errorPlacement: function (error, element) {
            $(element).parents('.form-group').append(error);
        }
    });

    if(validacion){
       // tu codigo ajax
    }

Я не присоединен с plugin санкционируй тебя, но если этот не возвращает ответ, будь должен справляться с функцией callback или обещание тип ".done" ajax.

0
ответ дан 03.12.2019, 17:30