php - Codeigniter 中多选下拉列表的表单验证

标签 php codeigniter validation

我已经尝试使用各种方法使用 codeigniter 设置表单验证来进行多选下拉列表,但无法正确设置规则。下面是我正在使用的代码,请帮忙。附注我已经尝试过实现 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);

表单验证:-

$this->form_validation->set_rules('travel_cat', 'Travel Category', 'callback_check_default');

function check_default($array)
{
    foreach($array as $element)
    {
        if($element == '0')
        { 
            return FALSE;
        }
    }
    return TRUE;        
}

最佳答案

我已经用下面提到的代码替换了回调函数,并且工作正常。

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;   
}

关于php - Codeigniter 中多选下拉列表的表单验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33579831/

相关文章:

php - 是否有 NoSQL 解决方案的比较(在某些情况下哪个更好?)

php - 前端和后端登录的 session 冲突 - codeigniter

php - Codeigniter 数据库删除时出现错误

php - CSS 和图片未在 Codeigniter 中加载

node.js - 从 Facebook webhook 验证负载

javascript - Stripe 元素 : how can I validate a card element is not blank client-side?

php - 我想在 Mysql 中插入印地语字符串并提供对印地语语言名称字段的搜索

php - python 中最接近 WordPress 而不是 php 的东西是什么?

jquery - 使用 Jquery 验证时无法提交表单

php - 关于存储/检索复杂页面数据的问题