我已经尝试使用各种方法使用 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/