Php 表单验证代码点火器不';行不通

Php 表单验证代码点火器不';行不通,php,forms,codeigniter,validation,Php,Forms,Codeigniter,Validation,我是在codeigniter中使用表单验证的初学者,现在我正在尝试使用表单验证codeigniter库,为什么不执行它?我已经加载了$this->load->library('form_validation')在我的控制器顶部。我的意思是,我希望输出的错误低于我的输入类型。为什么我在数组中出错(“此字段名称的规则2上的“必需”=>”错误消息”)不显示在我的视图中。仅在控制台上响应 这是我的完整代码: 视图: 从视图中选择我的ajax: function create_User() { $.

我是在codeigniter中使用表单验证的初学者,现在我正在尝试使用表单验证codeigniter库,为什么不执行它?我已经加载了
$this->load->library('form_validation')在我的控制器顶部。我的意思是,我希望输出的错误低于我的输入类型。为什么我在
数组中出错(“此字段名称的规则2上的“必需”=>”错误消息”)不显示在我的视图中。仅在控制台上响应

这是我的完整代码:

视图:

从视图中选择我的ajax:

function create_User() {
   $.ajax({
      url: siteurl+"admin_controls/reg_user",
      type: "POST",
      data: $("#frm_create_user").serialize(),
      dataType: "JSON",
        success: function(data) {
          alert(" User Successfully Added added! ");
          $("#frm_create_user")[0].reset();
        }
   });
}
请遵循这个方法。 或

如果您只是复制并粘贴此代码,它肯定会工作,您只需在表单操作中更改控制器名称即可

    public function reg_user(){

         $this->form_validation->set_rules('userFName', 'userFName', 'trim|required',
array('required' => 'Error Message on First name ')
);

          $this->form_validation->set_rules('userMName', 'userMName', 'trim|required',
array('required' => 'Error Message on Middle Name')
);
            if ($this->form_validation->run() == TRUE) {

                    $result['status'] = true;
                    $result['message'] = "Data inserted successfully.";

            }else {
                $result['status'] = false;

                $result['message'] = $this->form_validation->error_array();
            }
            echo json_encode($result);
    }
现在是Ajax部分

<a data-toggle="modal" href='#admin_create_acct' class="list_sort">Select<a>
<div class="modal fade large" id="admin_create_acct" role="dialog">
    <div class="modal-dialog"> 
        <div class="modal-content">
            <div class="modal-header  btn-success">
                <button type="button" class="close" data-dismiss="modal">&times;</button>
                <h3 class="modal-title">Create Account</h3>
            </div>
            <div class="modal-body">
                <form class="form-horizontal" action="<?php echo base_url('Practice/test_user')?>" method="post" id="form_data">
                    <div class="form-group">
                        username : <input type="text"  class="form-control" name="name">
                        <span class="error userFName"></span>
                    </div>
                    <div class="form-group">
                        password : <input type="text" class="form-control" name="userMName">
                        <span class="error userMName"></span>
                    </div>

                    <input type="submit" name="submit" value="submit">
                </form>    
            </div>
        </div>
    </div>
</div>
在Ajax中,我使用FormData函数而不是serialize函数。如果你打算上传文件,这会很有帮助

<script type="text/javascript">
$(document).ready(function() {
    $("#form_data").submit(function(e){
        e.preventDefault();
        var formData = new FormData($("#form_data"));

        $.ajax({
            url : $("#form_data").attr('action'),
            dataType : 'json',
            type : 'POST',
            data : formData,
            contentType : false,
            processData : false,
            success: function(resp) {
                console.log(resp);
                $('.error').html('');
                if(resp.status == false) {
                  $.each(resp.message,function(i,m){
                      $('.'+i).text(m);
                  });
                 }
            }
        });
    });

    return false;
});

$(文档).ready(函数(){
$(“表格数据”)。提交(功能(e){
e、 预防默认值();
var formData=新formData($(“#form#U data”);
$.ajax({
url:$(“#表单数据”).attr(‘操作’),
数据类型:“json”,
键入:“POST”,
数据:formData,
contentType:false,
processData:false,
成功:功能(resp){
控制台日志(resp);
$('.error').html('');
如果(响应状态==假){
$每个(分别为消息、函数(i、m){
$('.+i).文本(m);
});
}
}
});
});
返回false;
});

查看零件

<a data-toggle="modal" href='#admin_create_acct' class="list_sort">Select<a>
<div class="modal fade large" id="admin_create_acct" role="dialog">
    <div class="modal-dialog"> 
        <div class="modal-content">
            <div class="modal-header  btn-success">
                <button type="button" class="close" data-dismiss="modal">&times;</button>
                <h3 class="modal-title">Create Account</h3>
            </div>
            <div class="modal-body">
                <form class="form-horizontal" action="<?php echo base_url('Practice/test_user')?>" method="post" id="form_data">
                    <div class="form-group">
                        username : <input type="text"  class="form-control" name="name">
                        <span class="error userFName"></span>
                    </div>
                    <div class="form-group">
                        password : <input type="text" class="form-control" name="userMName">
                        <span class="error userMName"></span>
                    </div>

                    <input type="submit" name="submit" value="submit">
                </form>    
            </div>
        </div>
    </div>
</div>
选择
&时代;
创建帐户

谢谢你的答复。。您好,先生,如果我有两种输入类型呢。我有一个问题,因为当我做了两个输入类型时,这两个错误会在每个人的输入类型中输出,所以你想确切地告诉我什么。如果您有两个输入字段,则会显示每个字段的错误消息。如果您遇到任何类型的问题,请告诉我是否有用。谢谢,这很有帮助,先生,但在我现在的情况下,它需要一些改进,以适应2种或更多的输入类型,并在每个特定字段中提供错误扫描我再次看到你控制器我不明白你想要什么?因为在控制器中,错误将显示为每个具有特定字段错误的字段。
<a data-toggle="modal" href='#admin_create_acct' class="list_sort">Select<a>
<div class="modal fade large" id="admin_create_acct" role="dialog">
    <div class="modal-dialog"> 
        <div class="modal-content">
            <div class="modal-header  btn-success">
                <button type="button" class="close" data-dismiss="modal">&times;</button>
                <h3 class="modal-title">Create Account</h3>
            </div>
            <div class="modal-body">
                <form class="form-horizontal" action="<?php echo base_url('Practice/test_user')?>" method="post" id="form_data">
                    <div class="form-group">
                        username : <input type="text"  class="form-control" name="name">
                        <span class="error userFName"></span>
                    </div>
                    <div class="form-group">
                        password : <input type="text" class="form-control" name="userMName">
                        <span class="error userMName"></span>
                    </div>

                    <input type="submit" name="submit" value="submit">
                </form>    
            </div>
        </div>
    </div>
</div>