有一组输入框,例如:
<input type="text" class="form-control my-input" name="q1" size="63" value="<?= set_value("q1"); ?>">
<input type="text" class="form-control my-input" name="q2" size="63" value="<?= set_value("q2"); ?>">
....
<input type="text" class="form-control my-input" name="q100" size="63" value="<?= set_value("q30"); ?>">
有30个输入框,从q1到q30
如果我想验证它们,我需要设置
$this->form_validation->set_rules('q1', lang("q1"), 'required');
30次,如果没什么重要的话,验证错误消息将显示30次。
因此,我想:
假设q15不需要,循环通过post数组并检查其他输入框是输入还是空。
如果未输入任何一个所需输入框,则只显示一条错误消息
如何在codeigniter中实现这一目标?
答案 0 :(得分:2)
这是代码示例
for($i = 1; $i <= 30; $i++){
$this->form_validation->set_rules('q' + $i, lang('q' + $i), 'required');
}
<强>更新强> 当名字不遵循模式时:
$names = [1=>'q1', 'a1', 'd3', ...];
for($i = 1; $i <= 30; $i++){
$this->form_validation->set_rules($names[$i], lang($names[$i]), 'required');
}