Javascript Codeigniter:在进入控制器之前验证数据

Javascript Codeigniter:在进入控制器之前验证数据,javascript,php,jquery,codeigniter,Javascript,Php,Jquery,Codeigniter,我正在通过单击submit按钮验证数据,然后再次加载视图。我只想在加载控制器之前在页面上显示错误。它不是表单验证。这只是一个数据验证。我认为您可以使用AJAX进行验证。在查看页面中 in view page <script type="text/javascript"> $(document).ready(function() { /// make loader hidden in start $('#loading').hide();

我正在通过单击submit按钮验证数据,然后再次加载视图。我只想在加载控制器之前在页面上显示错误。它不是表单验证。这只是一个数据验证。

我认为您可以使用AJAX进行验证。

在查看页面中
in view page

    <script type="text/javascript">
    $(document).ready(function() {
        /// make loader hidden in start
    $('#loading').hide();
     $('#email').blur(function(){
        var email_val = $("#email").val();
        var filter = /^[a-zA-Z0-9]+[a-zA-Z0-9_.-]+[a-zA-Z0-9_-]+@[a-zA-Z0-9]+[a-zA-Z0-9.-]+[a-zA-Z0-9]+.[a-z]{2,4}$/;
        if(filter.test(email_val)){
            // show loader
            $('#loading').show();
            $.post("<?php echo site_url()?>/user/email_check", {
                email: email_val
            }, function(response){
                $('#loading').hide();
                $('#message').html('').html(response.message).show().delay(4000).fadeOut();
            });
            return false;
        }
    });

    });  
</script>

in controller function 

    public function email_check()
    {
        // allow only Ajax request    
        if($this->input->is_ajax_request()) {
        // grab the email value from the post variable.
        $email = $this->input->post('email');
        // check in database - table name : tbl_users  , Field name in the table : email
        if(!$this->form_validation->is_unique($email, 'tbl_users.email')) {
        // set the json object as output                 
         $this->output->set_content_type('application/json')->set_output(json_encode(array('message' => 'The email is already taken, choose another one')));
            }
        }
    }
$(文档).ready(函数(){ ///使加载程序隐藏在开始位置 $(“#加载”).hide(); $('#email').blur(函数(){ var email_val=$(“#email”).val(); var过滤器=/^[a-zA-Z0-9]+[a-zA-Z0-9.-]+[a-zA-Z0-9.-]+[a-zA-Z0-9]+[a-zA-Z0-9.+[a-zA-Z0-9]+[a-z]{2,4}$/; 如果(过滤测试(电子邮件){ //显示加载器 $(“#加载”).show(); $.post(“/user/email\u check”{ 电子邮件:email\u val },功能(回应){ $(“#加载”).hide(); $('#message').html('').html(response.message.show().delay(4000.fadeOut()); }); 返回false; } }); }); 在控制器功能中 公共功能电子邮件检查() { //仅允许Ajax请求 如果($this->input->is\u ajax\u request()){ //从post变量中获取电子邮件值。 $email=$this->input->post('email'); //签入数据库-表名:tbl_用户,表中的字段名:电子邮件 如果(!$this->form\u validation->is\u unique($email,'tbl\u users.email')){ //将json对象设置为输出 $this->output->set_content_type('application/json')->set_output(json_encode(数组('message'=>'电子邮件已被接收,请选择另一封)); } } }
数据是什么意思?数据验证?例如,我正在检查一个数组是否有重复值。如果没有,则将值放入数据库,否则返回错误。