【问题标题】:Select option not showing required field选择选项未显示必填字段
【发布时间】:2015-12-10 09:30:54
【问题描述】:

当我在 HTML 'select name' 和 set_rules 表单验证规则中设置相同的名称时;它没有显示它是必填字段。

我的验证控制器如下:

$this->form_validation->set_rules('cate', 'category name','trim|required|xss_clean|callback_select_validate');

function select_validate($abcd)
        {
        // 'none' is the first option that is default "-------Choose City-------"
            if($abcd=="none"){
                $this->form_validation->set_message('select_validate', 'Please Select Your Category.');
            return false;
            } else{
            // User picked something.
            return true;
            }
        }
    if($this->form_validation->run() == false){

        $this->index();
    }

我的HTML选择表单代码如下:

<select name="cate" >
    <option value="none" selected="selected">Select Catagory</option>
    <?php
        foreach ($catagory_all as $value) {
            if(!empty($project) && ($project->cat_id == $value->cat_id)){
                echo '<option value="' . $value->id . '" selected="">' . $value->catagory . '</option>';
            }
            else{
                echo '<option value="' . $value->cat_id . '">' . $value->catagory . '</option>';
            }
        }
    ?>
</select>

【问题讨论】:

  • value="none" 包含一个值(无)。

标签: php html forms codeigniter


【解决方案1】:

我已经修改了你的编码...请检查一下。 查看:

    <select name="cate" >
                                        <option value="" selected="selected">Select Catagory</option>
//Just specify value as empty. From that we can easily use required.
                                        <?php
                                            foreach ($catagory_all as $value) {
                                                if(!empty($project) && ($project->cat_id == $value->cat_id)){
                                                    echo '<option value="' . $value->id . '" selected="">' . $value->catagory . '</option>';
                                                }
                                                else{
                                                    echo '<option value="' . $value->cat_id . '">' . $value->catagory . '</option>';
                                                }
                                            }
                                        ?>
                                    </select>

控制器:

无需回调。如果选择值为空,将返回必填错误! 您只能指定以下内容,

$this->form_validation->set_rules('cate', 'category name','trim|required|xss_clean');

【讨论】:

    【解决方案2】:

    你调用callback_select_validateselect_validate这意味着你在代码中寻找函数select_validateselect_validate

    所以你必须改变你的函数名

    function select_validate($abcd)
    

    function select_validateselect_validate($abcd)
    

    或从您的回调中删除 select_validate

    $this->form_validation->set_rules('cate', 'category name','trim|required|xss_clean|callback_select_validate');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-30
      • 1970-01-01
      • 1970-01-01
      • 2011-07-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多