Codeigniter:数组提交验证

时间:2016-03-04 03:58:16

标签: php codeigniter

我在使用codeigniter上的empty()进行验证时遇到问题。

它似乎总是返回真,空或不。

<input type="text" name="contactname[]" value="<?php echo set_value('contactname[]');?>">

型号:

if(empty($this->input->post('contactname'))) {
           return TRUE;
      } else {
            return FALSE;
          }

我真的不知道这个问题的原因是什么。

4 个答案:

答案 0 :(得分:1)

试试这个

$contactname = $this->input->post('contactname')
if(empty($contactname)) {
           return TRUE;
      } else {
            return FALSE;
          }

答案 1 :(得分:0)

试试这个

$contact_name = $this->input->post('contactname[]');

if($contact_name != null) 
{
   return TRUE;
} else{
       return FALSE;
}

答案 2 :(得分:0)

CodeIgniter提供了全面的表单验证和数据准备类,有助于最大限度地减少您要编写的代码量。您可以在控制器或模型中加载这样的库:

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

要设置验证规则,您将使用set_rules()函数,如下所示:

$this->form_validation->set_rules('contactname[]', 'Contact name', 'required');

因此,您需要使用以下代码更新代码 -

$this->load->library('form_validation');
$this->form_validation->set_rules('contactname[]', 'Contact name', 'required');
if ($this->form_validation->run() == FALSE)
{
    echo validation_errors();
}
else
{
   // wrire you code here after validation run success
}

供参考,请参阅此链接 - http://www.codeigniter.com/userguide2/libraries/form_validation.html

答案 3 :(得分:0)

试试这个。

if (count($this->input->post('contactname')) > 0)
           return TRUE;
          } else {
          return FALSE;
          }