如何在codeigniter中通过ajax获取验证错误


how to get validation errors through ajax in codeigniter

我正试图在代码点火器中的提交表单中使用ajax。我已经到了进行ajax调用的地方,但验证错误没有显示。我不明白为什么。请帮忙。

我确实有一些退货,但他们什么也不做。

    if ($this->form_validation->run() == FALSE)
   {
   echo(json_encode("validate"=>FALSE));
   }
   else
   {
  $this->load->model('adduser_model');
  $data['query']=$this->adduser_model->adduser();
   }
}

视图代码:

<script>
    //CHECKS ONE FIELD AT A TIME
    $(function(){
        $(".field").each(function(){
            $(this).keyup(function(){
            var id = $(this).attr("id"); //VALUE OF INPUT ID Ex: <input id="name">
            var v = $(this).val(); //INPUT TEXT VALUE
            var data = id+"="+v; //DATA TO GO TO THE AJAX FILE Ex:(name=wcet)
            $.ajax({
                type: "POST",
                url: "prog/validate", //AJAX FILE
                data: data+"&single=true",
                success: function(e){ //"e" IS THE DATA FROM "validate.php"
                    $("span#"+id).html(e); //ECHOS DATA FROM "validate.php" NEXT TO THE     INPUT IF NEEDED
                }
            });
        });
    });
});
</script>
 <BODY>
<?php $this->load->helper('form');
echo form_open('prog/validate'); ?>
<tr><td align="right">Name: </td><td align="left"><input class="field" name="name"      id="name"> <span id="name"></span><br></td></tr>
<tr><td align="right">email: </td><td align="left"><input class="field" name="email" id="email"> <span id="email"></span><br></td></tr>

如果have some returns,则表示函数成功。即使您没有得到预期的响应,只有当$ajax调用根本无法激发时(404500个错误),$this->form_validation->run()才会为false。

您也可以尝试通过failure: function () {}捕获错误,例如:

$.ajax({
    type: "POST",
    url: "prog/validate", //AJAX FILE
    data: data+"&single=true",
    success: function(e){ //"e" IS THE DATA FROM "validate.php"
        $("span#"+id).html(e); 
    },
    failure: function(e) {
        // check against error messages
    }
});