簡體   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