我的表单有超过50种不同的文本输入。我想在表单验证库中使用CodeIgniter的验证(如trim函数),而不为每个输入创建规则。是否可以将它们组合成一个规则,这样我就不必浪费时间一遍又一遍地编写相同的代码?
答案 0 :(得分:0)
在视图中将文字字段名称更改为group_name[your_txt_names]
<input name="group_name[your_txt_names]" value="" type="text" />
然后在控制器中,您可以创建一个函数。
$txt_bxes = $this->input->post("group_name");
$post_vals = array_map('trim', $txt_bxes);
现在你已经修剪了数组中的值。
答案 1 :(得分:0)
Kumar_v的想法是正确的,如果在实施中有点愚蠢
$这 - &GT;输入 - &GT;柱('VAR);只是阅读$ _POST并在其上运行一些卫生设施;验证规则只是从$ _POST读取var并应用验证规则。
因此,如果您只想修剪所有$ _POST变量,只需直接修剪$ _POST,之后您也可以运行其他验证。
解决方案:
$ _ POST = array_map('trim',$ _POST);
或
//获取所有帖子并立即将它们转储到变量中
$ input = $ this-&gt; input-&gt; post(null,true); $ input = array_map('trim',$ input);
答案 2 :(得分:0)
随着帖子数据出现在数组中,我希望这会对你有所帮助
$postData = $this->input->post();
array_walk($postData ,'myFunc');
function myFunc(&$value,$key){
$value = trim($value);
}