使用Jquery中的“onclick”进行Cakephp(2.x)模型验证

时间:2018-01-24 14:51:53

标签: javascript jquery

我正在编写CakePHP中已编写的代码。 并且,我添加了一些模型验证。

但是,在Jquery中,这段代码工作正常(模型验证和HTML5消息):

$('#itemAdd').on('submit', function(e) {
    var $itemAdd = $("#itemAdd");
    e.preventDefault();
    var $this = $(this);
    $this.serialize();

    $.ajax({
         ...
        }).done(function (data) {
            if (data == true) {
                $('body').on('hidden.bs.modal', '.modal', function () {
                    $(this).removeData('bs.modal');
                });
                location.reload();
            }
        }).fail(function () {
            alert("Error");
    });

});

但是,当它使用'click'时,ajax方法可以工作,但验证不是...... :(:

$("#next-item").on('click', function(e) {
        e.preventDefault();
        var $itemAdd = $("#itemAdd");
        var data = $itemAdd.serializeArray();
        var $this = $(this);

        $.ajax({
        ... 
        }).done(function (data) {
            alert(data);
                alert('go !');
                var $addItem = $("#addItem");
                $addItem.removeData('modal-header');
                $addItem.removeData('modal-body');
                $("#addItem .modal-content").load('<?php echo FULL_BASE_URL; ?>/stock/stocks/modal_item_add/<?php echo $batch_id; ?>', function () {
                    $('#addItem').modal('show');
                });
        }).fail(function (jqXHR, textStatus, errorThrown) {
            alert("An error :  " + textStatus + ", " + errorThrown  );
        });

            return false;
    });

基于模型的验证不起作用。但是,在使用Jquery Ajax启动的Php方法中,告诉我(没关系)验证错误:

$this->Item->invalidFields();

当我使用 $(“#next-item”)时会出现问题我希望jQuery模式不会隐藏。 使用“提交”代替“点击”关闭模式。

有人有想法吗?

感谢。 F。

0 个答案:

没有答案