正常写时,当点击选中时,开关有值,但是当取消选中时,却不提交字段,所以需要以下写法来验证 demo: bick项目中 conf 目标: 选中时,提交选中的值 , 未选中时提交空值
Controller:
if ($this->request->isPost()){
$form_arr = array();//提交的en_name字段 数组
$conf_Arr = array();//数据表中en_name字段 数组
$data = input("post.");
foreach ($data as $k=>$v){ //循环提交的数据
$form_arr[] = $k; //提交的en_name字段 数组
}
$_confArr = ConfModel::field('en_name')->select();//查询表中所有字段
foreach ($_confArr as $k=>$v){ //把查询的二维数组循环成一维数组
$conf_Arr[] = $v['en_name'];//表中字段数组
}
foreach ($conf_Arr as $k=>$v){ //循环查询字段,和提交字段作对比
if (!in_array($v,$form_arr)){
$data["$v"] = '';
}
}
if(!$data){
$this->error();
}
foreach ($data as $k=>$v){
ConfModel::update([
'value' => $v
],['en_name'=>$k]);
}
$this->success('提交配置成功');
}
View:
关注
打赏