【问题标题】:codeigniter validation should work only when array of email id is not empty只有当电子邮件 ID 数组不为空时,codeigniter 验证才有效
【发布时间】:2015-03-19 17:43:44
【问题描述】:

我正在对电子邮件 ID 进行 codeigniter 验证。我已经声明了 3 个用于输入电子邮件 ID 的文本框。我正在检索名为 ref_email 的数组中的所有 3 个电子邮件 ID。现在我只想在电子邮件 ID 文本框不为空并在视图页面中显示错误消息时才进行电子邮件 ID 验证。如果电子邮件 ID 文本框为空,那么我不想进行任何验证。我不知道我的代码哪里出错了。

我的控制器代码:

    $ref_email_array=$this->input->post('ref_email');

            foreach($ref_email_array as $key => $r_email ){
        if ($r_email!="") {
                $this->form_validation->set_rules('ref_email['.$key.']', 'Email','trim|valid_email');
                $this->form_validation->set_error_delimiters('<div class="error_user" style="color:red">', '</div>');
                }
            }
           if($this->form_validation->run()){   // insertion code }

有人可以帮帮我吗? 提前致谢。

【问题讨论】:

  • 为什么不用phpempty()函数来检查输入数组是否为空?
  • 我只想在数组值不为空时检查。我使用 3 个文本框,所以我的数组总是返回 0,1,2 索引,所以数组不会为空。
  • 使用 array_filter 检查所有键是否有值。 Check out this link
  • 好的,我会尽力让你知道。没有使用数组过滤器

标签: php codeigniter validation email


【解决方案1】:
$ref_email_array=$this->input->post('ref_email');
foreach($ref_email_array as $r_email ){
if (empty($r_email)) {}
else  {
$this->form_validation->set_rules('ref_email['.$key.']','Email','trim|valid_email');
$this->form_validation->set_error_delimiters('<div class="error_user" style="color:red">', '</div>');
      }
 }

我希望这对你有帮助! ,对我有用

【讨论】:

    猜你喜欢
    • 2016-11-26
    • 1970-01-01
    • 2017-11-28
    • 2015-05-06
    • 2013-01-05
    • 2020-08-08
    • 2012-11-03
    • 2023-03-06
    • 2013-11-12
    相关资源
    最近更新 更多