加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

代码标识符中的Ajax格式验证

发布时间:2020-12-16 01:34:35 所属栏目:百科 来源:网络整理
导读:恶魔家伙, 我最近一直在使用ajax,而且我在使用codeigniter表单验证库时遇到问题.我使用工具在函数http://formtorch.geekhut.org/中生成的示例. 现在,当我使用带有哑数据的json_encode()函数时,ajax完美地返回数据,但在示例中验证使用验证库而不是form_valida
恶魔家伙,

我最近一直在使用ajax,而且我在使用codeigniter表单验证库时遇到问题.我使用工具在函数http://formtorch.geekhut.org/中生成的示例.
现在,当我使用带有哑数据的json_encode()函数时,ajax完美地返回数据,但在示例中验证使用验证库而不是form_validation库,这似乎是较旧的版本.

为此,在该示例中,验证不适用于ajax,特别是$this-> form_validation-> run()函数使得ajax不返回结果,即使我在create_course()的开头使用json_encode()回显伪数据) .

所以用ajax进行验证有什么问题,并向我解释由控制器收到的ajax发送的数据.

所以这是我的代码:

function create_course()
{   
        $this->form_validation->set_rules('course_code','course_code','trim|xss_clean|required');
        $this->form_validation->set_rules('name','name','xss_clean|required');
        // .. etc           
        if ($this->form_validation->run()) {            
            // validation ok
            $data['course_code'] = $this->form_validation->set_value('course_code');
            $data['name'] = $this->form_validation->set_value('name');
            // ... etc
            if ($this->models_facade->create_course($user_id,$data))    {   // success
                    $data = array( 'profile_change' => $this->lang->line('profile_change'));
            } else {                    // fail 
                    $data = array( 'profile_change_error' => $this->lang->line('profile_change_error'));
            }
        }
        else
        {
            $data = array(
                    'course_code' => $this->form_validation->course_code_error,'name' => $this->form_validation->name_error
            );
        }        
        echo json_encode($data);
    }

这是Jquery Ajax功能

$(function(){
   $("#submit").click(function(){
        var course_code = $("#course_code").val(); 
        var name = $("#name").val(); 
        // etc          
        $.post("<?php echo base_url() ?>home/create_course",course_code:course_code,name:name},function(data){
        function(data){
            alert(data.data);
            $("#course_code_error").html(data.course_code);
            $("#name_error").html(data.name);
        },'json');
   });
   return false;

});

你使用什么版本的Codeigniter?你有没有记得在你的构造中加载验证库?
$this->load->library('form_validation');

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读