Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php codeigniter中多选下拉列表的表单验证_Php_Codeigniter_Validation - Fatal编程技术网

Php codeigniter中多选下拉列表的表单验证

Php codeigniter中多选下拉列表的表单验证,php,codeigniter,validation,Php,Codeigniter,Validation,我曾经尝试过使用codeigniter为多选下拉列表设置表单验证的各种方法,但无法正确设置规则。下面是我正在使用的代码,请帮忙。p、 我已经尝试过在stackoverflow上实现建议的代码,但没有成功 <select class="" name="travel_cat[]" multiple="multiple" id="travel_lst" data-placeholder="Select Travel Categories" style="width: 100%;">

我曾经尝试过使用codeigniter为多选下拉列表设置表单验证的各种方法,但无法正确设置规则。下面是我正在使用的代码,请帮忙。p、 我已经尝试过在stackoverflow上实现建议的代码,但没有成功

<select class="" name="travel_cat[]" multiple="multiple" id="travel_lst" data-placeholder="Select Travel Categories" style="width: 100%;">
                  <option value="adventure">Adventure</option>

                      <option value="arts&culture">Arts & Culture</option>

                      <option value="events">Events</option>

                      <option value="backpacking">Backpacking</option>

                      <option value="beach_holidays">Beach Holidays</option>

                    <option value="budget_travel">Budget Travel</option>

                    <option value="city_travels">City Travels</option>

                    <option value="day_trips">Day Trips</option>

                    <option value="honeymoons">Honeymoons</option>

                    <option value="family_trips">Family Trips</option>

                    <option value="weekend_gateway">Weekend Gateway</option>

                    <option value="history&architecture">History & Architecture</option>

                    <option value="luxury">Luxury</option>

                    <option value="nature">Nature</option>

                    <option value="road_trips">Road Trips</option>

                    <option value="wildlife">Wildlife</option>

                    <option value="religious">Religious</option>
                </select>  

$choice = $this->input->post("travel_cat");
    if(is_null($choice))
    {
        $choice = array();
    }
    $travel_cat = implode(',', $choice);

我用下面提到的代码替换了回调函数,它工作得很好

function check_default()
{
    $choice = $this->input->post("travel_cat");
    if(is_null($choice))
    {
        $choice = array();
    }
    $travel_cat = implode(',', $choice);

    if($travel_cat != '')
        return true;
    else
        return false;   
}

在多选框中没有值
0
。它总是会返回你
true
那么我应该用什么来代替0?你需要检查
如果($element==“”){return FALSE;}
我甚至尝试过用NULL代替“0”仍然是同一个场景。你到底想让我做什么,没有得到你的建议。
function check_default()
{
    $choice = $this->input->post("travel_cat");
    if(is_null($choice))
    {
        $choice = array();
    }
    $travel_cat = implode(',', $choice);

    if($travel_cat != '')
        return true;
    else
        return false;   
}