【问题标题】:CodeIgniter field validation based on condition基于条件的 CodeIgniter 字段验证
【发布时间】:2011-08-27 23:32:06
【问题描述】:

如果名为sendEmail 的第一个字段具有value ="Yes",则其余字段将被验证... 我在配置文件夹的form_validation.php 文件中定义了这个set_rules..

$config = array(
array(
      'field'   => 'sendEmail',
      'label'   => 'Send Email',
      'rules'   => 'required'
     ),
     array(
       'field'   => 'email',
       'label'   => 'Email',
       'rules'   => 'required'
     ),
     array(
       'field'   => 'first_name',
       'label'   => 'First Name',
       'rules'   => 'required'
     ),   
    array(
      'field'   => 'last_name',
      'label'   => 'Last Name',
      'rules'   => 'required'
    )
);

emailfirst_namelast_name 字段将仅被验证 if sendEmail 具有 value="Yes"
不知道该怎么做,有人可以帮我吗? 谢谢

【问题讨论】:

    标签: codeigniter validation conditional-statements


    【解决方案1】:

    验证仅在您调用$this->form_validation->run() 时运行,因此只需在此之前编写一个 if 语句。像这样的:

    if ($this->input->post("sendEmail") == 'Yes') {
        $this->form_validation->set_rules($config);
        if ($this->form_validation->run() == FALSE)
        {
            // failed validated
        }
        else
        {
            // passed validation
        }
    } else {
        // never attempted validation
    }
    

    【讨论】:

      【解决方案2】:

      在你的控制器中做这样的条件:

      if ($this->input->post('sendEmail') == 'Yes'){
      
        $this->form_validation->set_rules('email', 'Email', 'required');
        ... [etc]
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-07-24
        • 1970-01-01
        • 2021-04-10
        • 2023-03-26
        • 1970-01-01
        • 1970-01-01
        • 2020-06-15
        • 2018-03-09
        相关资源
        最近更新 更多