Codeigniter数组后端验证 [英] Codeigniter array backend validation

查看:203
本文介绍了Codeigniter数组后端验证的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用了一个表单,里面包含一个div和一对动态添加的输入字段。

I'm using a form, inside which contains a div with a pair of input field which is added dynamically.

查看

<?php echo form_open_multipart('location/add'); ?>
<div>
<input type="text" name="title[]"/>
<div id="infoMessage"><?php echo form_error('title[]'); ?></div>
</div>
<div>
<input type="text" name="desc[]"/>
<div id="infoMessage"><?php echo form_error('desc[]'); ?></div>
</div>
<div>
<input type="text" name="link[]"/>
<div id="infoMessage"><?php echo form_error('link[]'); ?></div>
</div>  

<input type="submit" name="" value="enter">  
<?php echo form_close(); ?> 

现在,最初我不想验证这3个输入字段,但我想要动态添加的所有输入字段的后端验证(通过单击 + )在按提交按钮。

Now, Initially I don't want validation for this 3 input fields but I want the backend validation for all the input fields that are going to add dynamically(by clicking on +) on pressing submit button.

CONTROLLER:

    public function add()
    {

        $this->form_validation->set_rules('title[]','Title','required');
        $this->form_validation->set_rules('desc[]','Description','required');
        $this->form_validation->set_rules('link[]','Link','required');

            if ($this->form_validation->run() == FALSE)
            {
                $this->load->view('test');
            }
            else
            {
                ....
            }

    }


推荐答案

您可以使用自定义回调验证函数
EX:

You can use custom callback validation function EX:

public function add()
{
    $this->form_validation->set_rules('title', 'Title', 'callback_title_validate');
    if ($this->form_validation->run() == FALSE)
    {
        $this->load->view('test');
    }
    else
    {
        //....
    }
}

function title_validate($title){
    foreach($title as $key=>$value){
        if($title[$key]==null || $title[$key]==false){
        $this->form_validation->set_message('title_validate', 'The Title field is Required.');
            return FALSE;
        }
        }
    return TRUE;
}

这篇关于Codeigniter数组后端验证的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆