用户
 找回密码
 入住 CI 中国社区
搜索
查看: 1790|回复: 0
收起左侧

CI 自带表单验证 + jquery ajax 注册验证

[复制链接]
发表于 2014-7-4 03:29:09 | 显示全部楼层 |阅读模式
本帖最后由 yzx8819 于 2014-7-4 12:40 编辑

最近开始研究CI,今天研究到注册登录验证。翻看论坛资料后发现,CI自带的表单验证是后台的。但是我个人比较追求前端的体验,故想把jquery+CI自动表单验证相结合。让用户每 blur 一个 input 时都会得到 CI自动表单验证 反馈回的 validation_errors();

V部分:把input的值传给C
JS复制代码
<?php echo form_open('login/signin') ?>
       
       
    <p>用户名:<?php echo form_input('name','','id="name"') ?></p><div id="ninput"></div>
 
 
        <p><?php echo form_submit('submit','登陆','id="submit"')?></p>
 
 
<?php echo form_close() ?>
 
<br /><br />
 
<?php echo anchor('login/register','注册')?>
 
<script src="http://libs.baidu.com/jquery/1.7.2/jquery.min.js"></script>
<SCRIPT LANGUAGE="JavaScript">
 
$(document).ready(function() {
       
        $('#name').blur(function(){
               
                var username = $("#name").val();
               
                $.ajax({
                                type:"POST",
                                url:"<?php echo base_url().'login/recheckme'?>",                        
                                data:{name:username},
                                success:function(data){
                                        //alert(data);
                                         $("#ninput").html(data);  
                                }
                        })
        })
});
 
$('#submit').click(function(){
        return false;
});
 
</SCRIPT>
 
复制代码




C部分:
PHP复制代码
 
        function recheckme(){
 
                $_POST['name']=$this->input->post('name');
 
                $this->form_validation->set_rules('name','用户名','trim|required');        
               
                if ($this->form_validation->run() == FALSE){
                        echo validation_errors();
                }
 
        }
 
复制代码



最后成功把错误信息传回来了!;

本版积分规则