首页 > 解决方案 > Codeigniter 表单验证在模式下不起作用

问题描述

我有控制器和视图模式,我在点击按钮时验证控制器中的数据,错误应该出现在视图中。表单在未验证必填字段的情况下提交。代码如下:

控制器:

class task extends  CI_Controller {
public function __construct()
    {
        parent::__construct();
        $this->load->library('session');$this->load->helper(array('form', 'url'));
        $this->load->library('form_validation');
        $this->load->helper('security');}
    public function task_display()
    {
      if($this->input->post('add'))
        {
            $this->form_validation->set_rules('code','TaskCode','required | integer');
            if($this->form_validation->run() == TRUE) {
                $tname=$this->input->post('name');
                $tcode=$this->input->post('code');
                $tcategory=$this->input->post('category');
                $this->task_model->add_task($tname,$tcode,$tcategory);  
            }
        }
     }

视图:(模态)

<div id="addmodal" class="modal fade bs-example-modal-lg" tabindex="-1" role="dialog" aria-hidden="true" >
                    <div class="modal-dialog modal-lg">
                    //content
                    //header
                    //title
                    //body
                    <?php echo validation_errors(); ?>
                    <form class="form-horizontal form-label-left input_mask " method="post" id="addmodalform">
                     <div class="form-group">
                        <label class="control-label">Task Code<span class="required">*</span></label>
                        <div class="col-md-9 col-sm-9 col-xs-12">
                          <input  name="task_code" id="task_code" type="text" class="form-control"  placeholder="Task Code" required="required">
                        </div>
                      </div>
                      //closing div
                      <div class="modal-footer">
                          <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                          <input type="hidden" name="addtask_hidden" id="addtask_hidden" value="">
                          <button type = "button" id="addnew" class = "btn btn-primary" >Add</button>
                        </div>

这是ajax代码:

$(document).on('click', '#addnew', function(){
{
           var addtask_hide=document.getElementById('addtask_hidden').value;
           if(addtask_hide==1)
       {
         $('#addmodal').modal('hide');
        $('body').removeClass('modal-open');
      $('.modal-backdrop').remove();
      $.ajax({
          type: "POST",
          url: "<?php echo base_url(); ?>" + "index.php/task/task_display",
          data: {
          add: 1,
          },
           success: function(){
            console.log("success");
          }
           });
        }
        });

我已经加载了所需的库并相应地设置了规则,即使点击按钮,表单也没有得到验证。我将如何使它工作?

标签: codeigniter

解决方案


推荐阅读