如何验证“选择”.bootstrap与codeigniter的倍数


How to validate a "select" multiple of bootstrap with codeigniter

你好,很抱歉我的英语很差,我来自阿根廷。

我在网上搜索了一些类似的主题,但没有找到任何。我正在创建一个web应用程序,我使用bootstrap从FrontEnd和后端编码器。此外,我使用自定义的引导"选择",这是链接:http://silviomoreto.github.io/bootstrap-select/

在视图中我有这样的代码:

<div class="form-group">
<?php echo form_label('Languages ​​supported', 'lang'); ?>
<?php $options = array('Ingles' => 'Ingles','Español' => 'Español', 'Portugués' => 'Portugués', 'Ruso' => 'Ruso', 'Francés' => 'Francés', 'Alemán' => 'Alemán', 'Italiano' => 'Italiano'); $attribute ='class="selectpicker show-tick form-control" multiple title="Seleccione los lenguajes..."'; echo form_dropdown('lang', $options, 'title',$attribute); ?>

在浏览器中看起来是这样的:显示图像

对于验证,我有以下代码:
$this->form_validation->set_rules('lang', 'Idiomas', 'trim|required|min_length[1]|max_length[50]|xss_clean');

但是在数据库中,只保存了一个值。在上图中,用户选择了三个值(西班牙语、法语和葡萄牙语),但在数据库中只存储了第一个值(西班牙语)。如何使所有的值保存在数据库

如果您想启用多重选择,您必须将[]放在select名称之后:

<div class="form-group">
<?php echo form_label('Languages ​​supported', 'lang[]'); ?>
<?php $options = array('Ingles' => 'Ingles','Español' => 'Español', 'Portugués' => 'Portugués', 'Ruso' => 'Ruso', 'Francés' => 'Francés', 'Alemán' => 'Alemán', 'Italiano' => 'Italiano'); 
$attribute ='class="selectpicker show-tick form-control" multiple title="Seleccione los lenguajes..."'; 
echo form_dropdown('lang[]', $options, 'title',$attribute); ?>

在控制器中:

$langs = '';
foreach ($this->input->post('lang') as $lang) {
    $langs .= "$lang, ";
}
$langs = rtrim ($lang, ", ");