Javascript 在codeigniter中使用ajax和jquery验证字段时,输入组插件中出现错误
现在已经是46天了,直到我被困在这里。或者还有其他方法可以做到这一点。 我知道这很简单,但如何将输入组包装在表单组下。我使用ajax在codeigniter中提交表单数据,并显示验证错误。 问题在于,当Jquery Validate添加错误控件时,输入组插件会包装到表单字段下的下一行 控制器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());
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验证规则验证字段,