繁体   English   中英

Codeigniter Ajax表单验证

[英]Codeigniter ajax form validation

我实现了ajax表单验证。 但是,即使所有输入类型都有值。 它显示$this->form_validation->run() false 我没有如何解决此问题。

控制器代码


$this->form_validation->set_rules('first_name', 'First Name', 'trim|required');
        $this->form_validation->set_rules('last_name', 'Last Name', 'trim|required');
        $this->form_validation->set_rules('balance', 'Balance', 'trim|required|numeric');


    if ($this->form_validation->run() == FALSE) {
        echo validation_errors();


    }else{

    }

AJAX电话


$('#updateUsersInfo').on('click',function(){


 $.ajax({
        url:"<?php echo base_url();?>admin/updateUserData",
        type: "POST",
        dataType: 'json',
        data: {'submit_token': $('#token_id').val()},
        success:function(data){

            $('#bindErrors').text(data);


        }

    }) ;
});

查看代码


<form class="popupform" method="post">
            <div class="error" id="bindErrors"></div>
                <div  id="bindSuccessMsg"></div>
            <div class="row">
                <div class = "col-md-8 col-md-offset-2">
                    <div class="col-md-8">
                        <div class="form-group">
                            First name <input type="text" class="form-control" placeholder="First Name" id="first_name" name="first_name" value="">
                        </div>
                        <div class="form-group">
                            Last name <input type="text" class="form-control" placeholder="Last Name" name="last_name" id="last_name" value="">
                        </div>
                        <div class="form-group">
                            Email <input type="email" id="email" class="form-control" readonly placeholder="Email address" name="email_address" value="">
                        </div>
                        <div class="form-group">
                            Balance <input type="number" id="balance" class="form-control" placeholder="Balance" name="balance" value="">
                        </div>
                        <div class="form-group">
                            <div class="radio" >
                                <label style="margin-right: 10px;">
                                    <input type="radio"  name="account_type" value="1"  >Personal</label>
                            </div>
                            <div class="radio">
                                <label><input type="radio"  name="account_type"  value="3">Business</label>
                            </div>
                        </div>
                        <div class="form-group" style="clear:left; padding-top: 10px;">
                            <input type="hidden" name="user_id" id="user_id" value=""/>

                            <input type="submit" id="updateUsersInfo" class="btn tf-btn btn-default" value="Submit"/>
                        </div>
                    </div>
                </div>
            </div>
            </form>

我已经使用CSRF令牌,但是现在在代码中不要考虑这一点。 除此之外,有人可以让我知道为什么即使字段包含有效数据也会出现错误。

我正在使用Codeigniter 3.0.3

在这一行中,echo validate_errors(); 您要做的是echo json_encode(validation_errors()),因为在ajax调用中,您使用的是dataType:“ json”,而success:function(data){console.log(data); 只要尝试这些事情,它将起作用

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM