Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在codeigniter中使用ajax和jquery验证字段时,输入组插件中出现错误_Javascript_Jquery_Ajax_Codeigniter - Fatal编程技术网

Javascript 在codeigniter中使用ajax和jquery验证字段时,输入组插件中出现错误

Javascript 在codeigniter中使用ajax和jquery验证字段时,输入组插件中出现错误,javascript,jquery,ajax,codeigniter,Javascript,Jquery,Ajax,Codeigniter,现在已经是46天了,直到我被困在这里。或者还有其他方法可以做到这一点。 我知道这很简单,但如何将输入组包装在表单组下。我使用ajax在codeigniter中提交表单数据,并显示验证错误。 问题在于,当Jquery Validate添加错误控件时,输入组插件会包装到表单字段下的下一行 控制器 function infoValidation() { $result = array('status' => false, 'message' => array());

现在已经是46天了,直到我被困在这里。或者还有其他方法可以做到这一点。

我知道这很简单,但如何将输入组包装在表单组下。我使用ajax在codeigniter中提交表单数据,并显示验证错误。 问题在于,当Jquery Validate添加错误控件时,输入组插件会包装到表单字段下的下一行

控制器

function infoValidation() {
        $result = array('status' => false, 'message' => array());

        $this->form_validation->set_error_delimiters('<div class="text-danger">','</div>');
        if ($this->form_validation->run('company_registration')) {

                $result['status'] = true;

        }else {

            foreach ($_POST as $key => $value) {

                $result['message'][$key] = form_error($key);
            }
        }

        echo json_encode($result);
    }
函数信息验证(){
$result=array('status'=>false,'message'=>array());
$this->form_validation->set_error_分隔符(“”,);
如果($this->form\u validation->run('company\u registration')){
$result['status']=true;
}否则{
foreach($\发布为$key=>$value){
$result['message'][$key]=表单错误($key);
}
}
echo json_编码($result);
}
查看

<div class="col-lg-6">
<div class="form-group">
    <div class="input-group">
        <span class="input-group-addon">*</span>
        <input type = "text" name="creditCardNumber" class="form-control input-md" id="creditCardNumber" placeholder="Mobile No">
    </div>
</div>

*

ajax

我也尝试附加元素,但什么都没有发生

$.ajax({
        url : me.attr('action'),
        dataType : 'json',
        type : 'POST',
        data : me.serialize(),
        success: function(resp) {
            console.log(resp);
            if (resp.status == true) {
                $('#myModal').modal('show');

                $(".form-group").removeClass('has-error').removeClass('has-success');
                $(".text-danger").remove();
            }else {
                $('#msg').html('<div class="well"><h5>Please Check Your Details</h5></div>');
                $.each(resp.message, function(key, value) {

                    var element = $("#"+key);
                        element.closest('div.form-group, div.input-group')
                               .addClass(value.length > 0 ? 'has-error' : 'has-success')
                               .find('.text-danger').remove();

                        element.after(value);
                });
            }
        }
    });
$.ajax({
url:me.attr('action'),
数据类型:“json”,
键入:“POST”,
数据:me.serialize(),
成功:功能(resp){
控制台日志(resp);
如果(响应状态==真){
$('myModal').modal('show');
$(“.form group”).removeClass('has-error').removeClass('has-success');
$(“.text-danger”).remove();
}否则{
$('#msg').html('请检查您的详细信息');
$.each(分别为消息、函数(键、值){
变量元素=$(“#”+键);
元素。最近('div.form-group,div.input-group')
.addClass(value.length>0?'has error':'has success')
.find('.text danger').remove();
元素。之后(值);
});
}
}
});

我认为您需要覆盖jQuery验证插件方法,以获得与引导的兼容性

Refer http://jsfiddle.net/mapb_1990/hTPY7/7/
示例代码

$('form').validate({
    rules: {
        firstname: {
            minlength: 3,
            maxlength: 15,
            required: true
        },
        lastname: {
            minlength: 3,
            maxlength: 15,
            required: true
        }
    },
    highlight: function(element) {
        $(element).closest('.form-group').addClass('has-error');
    },
    unhighlight: function(element) {
        $(element).closest('.form-group').removeClass('has-error');
    },
    errorElement: 'span',
    errorClass: 'help-block',
    errorPlacement: function(error, element) {
        if(element.parent('.input-group').length) {
            error.insertAfter(element.parent());
        } else {
            error.insertAfter(element);
        }
    }
});

那么如何使用codeigniter验证规则验证字段,