【问题标题】:CodeIgniter form_validation is not showing errorsCodeIgniter form_validation 未显示错误
【发布时间】:2016-09-22 05:11:56
【问题描述】:

我是 CodeIgniter 的新手,我对 form_validation 有疑问:

  • 我创建了一个控制器来进行身份验证,这是我的控制器

================================================ =============================

public function auth()
{
    $this->load->helper(array('from','url'));

    $this->load->library('form_validation');

    $rules = array(
        array(
            'field' => 'username',
            'label' => 'username',
            'rules' => 'required'
        ),
        array(
            'field' => 'password',
            'label' => 'Password',
            'rules' => 'required'
        )
    );
    $this->form_validation->set_rules($rules);

    if ($this->form_validation->run() == false) {
        $this->load->view('login');
    } else {
        echo ';) like a boss';
    }
    }
}

================================================ =================

  • 我还创建了登录视图。 这是查看代码

================================================ =================

<section class="container">
    <div class="login">
        <h1>Login to Web App</h1>
        <?php
        $this->load->helper('form');
        echo validation_errors();
        echo form_open('login/auth');
        $username = form_input(array('name' => 'username', 'placeholder' => 'Username or Email'));
        $password = form_password(array('name' => 'password', 'placeholder' => 'Password'));
        $checkbox = form_checkbox('remember', '1');
        $submit = form_submit('submit', 'Login');
        ?>
        <p><?= $username ?></p>
        <p><?= $password ?></p>
        <p class="remember_me">
            <label>
                <?= $checkbox ?>
                Remember me on this computer
            </label>
        </p>
        <p class="submit"><?= $submit ?></p>
        <?php echo form_close(); ?>
    </div>
</section>    

【问题讨论】:

  • 你的问题到底是什么?
  • 请检查你的控制器有错别字$this-&gt;load-&gt;helper(array('from','url'));什么from

标签: php codeigniter validation codeigniter-3


【解决方案1】:

你的代码中多了一个尖括号

public function auth()
{
    $this->load->helper(array('from','url'));

    $this->load->library('form_validation');

    $rules = array(
        array(
            'field' => 'username',
            'label' => 'username',
            'rules' => 'required'
        ),
        array(
            'field' => 'password',
            'label' => 'Password',
            'rules' => 'required'
        )
    );
    $this->form_validation->set_rules($rules);

    if ($this->form_validation->run() == false) {
        $this->load->view('login');
    } else {
        echo ';) like a boss';
    }`enter code here`
}

【讨论】:

    【解决方案2】:
    1. 从底部删除一个右括号

    2. 更改为$this-&gt;load-&gt;helper(array('form','url'));

      public function auth() {
      
        $this->load->helper(array('form','url'));
      
        $this->load->library('form_validation');
      
        $rules = array(
          array(
              'field' => 'username',
              'label' => 'username',
              'rules' => 'required'
          ),
          array(
              'field' => 'password',
              'label' => 'Password',
              'rules' => 'required'
          )
         );
         $this->form_validation->set_rules($rules);
      
         if ($this->form_validation->run() == false) {
           $this->load->view('form-new');
         } else {
            echo ';) like a boss';
         }
      }
      

    【讨论】:

      【解决方案3】:

      这将是减少人类工作量的 codeignitor 助手

       $this->load->helper(array('from','url'));
      
      This would be the library function which validation process works
      
      $this->load->library('form_validation');
      $this->form_validation->set_rules('username', 'Username', 'required');
      $this->form_validation->set_rules('password', 'Password', 'required');
      
      
       if ($this->form_validation->run() == false) {
      //code       
        }else{
      // code
      }
      

      //在codeignitor中设置规则请查看以下网址

      参考:

      https://www.codeigniter.com/user_guide/libraries/form_validation.html

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-11-14
        • 2011-10-06
        • 1970-01-01
        • 2016-12-11
        相关资源
        最近更新 更多