有一组输入框,例如:
<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中实现这一点?
这是的代码示例
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');
}