【问题标题】:Validating single form field with CodeIgniter使用 CodeIgniter 验证单个表单字段
【发布时间】:2011-01-29 14:38:43
【问题描述】:

是否有一种快速的方法可以使用 CodeIgniter 验证单个表单字段,以查看该字段是否匹配一组规则?有 $this->form_validation->run();,但它会为整个表单返回 TRUE 或 FALSE,这不是我想要的。例如,如果我只想检查电子邮件是否有效,检查整个表单不会得到我想要的结果。

我查看了文档,但找不到像 $this->form_validation->run(); 这样的东西接受一个参数,如果有效则返回 TRUE 或 FALSE。

【问题讨论】:

    标签: php codeigniter validation


    【解决方案1】:

    form_validation 类支持组,因此您可以将组定义为电子邮件并像这样运行它$this->form_validation->run('email');

    【讨论】:

      【解决方案2】:

      我被这个问题困住了,我用form_error('field_name')解决了,这里是解释:

      1- 首先,您需要加载表单助手:

      $this->load->helper('form');
      

      2- 你必须运行表单验证:

      $this->form_validation->run();
      

      3- $this->form_validation->run(); 会将错误消息(如果存在)设置为辅助函数 form_error('field_name');,您可以在此处检查它是 false 还是返回值。

      例子:

          $this->load->library('form_validation');
          $this->load->helper('form');
      
          $this->form_validation->set_rules('field_one', 'First Field', 'numeric|required');
          $this->form_validation->set_rules('field_two', 'Second Field', 'required|min_length[5]|max_length[255]');
      
          $this->form_validation->run();
          $check['field_one'] = (form_error('field_one') ? form_error('field_one') : "Field one validated.. Success case");
          $check['field_two'] = (form_error('field_two') ? form_error('field_two') : "Field two validated.. Success case");
      

      【讨论】:

        猜你喜欢
        • 2016-07-22
        • 2012-11-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多