在CodeIgniter中,如果您想对多个输入使用相同的名称(type="text"),并在提交期间允许至少一个值,您可以使用CodeIgniter的表单验证功能来实现。
首先,您需要加载CodeIgniter的表单验证库。在您的控制器中,可以使用以下代码加载该库:
$this->load->library('form_validation');
接下来,您可以使用表单验证规则来验证输入。在您的控制器方法中,可以使用以下代码来设置验证规则:
$this->form_validation->set_rules('input_name[]', 'Input Name', 'required');
上述代码中,'input_name[]'是您要验证的输入字段的名称,'Input Name'是该字段的人类可读名称,'required'是验证规则,表示该字段是必需的。
然后,在您的控制器方法中,您可以使用以下代码来执行验证:
if ($this->form_validation->run() == FALSE) {
// 验证失败,执行相应的操作
} else {
// 验证成功,执行相应的操作
}
上述代码中,$this->form_validation->run()方法将执行验证,并返回一个布尔值,指示验证是否通过。
如果您想要验证至少一个输入字段具有值,您可以自定义回调函数来实现。在您的控制器中,可以使用以下代码来设置回调函数:
$this->form_validation->set_rules('input_name[]', 'Input Name', 'callback_at_least_one_value');
然后,您需要在同一个控制器中创建一个名为'callback_at_least_one_value'的回调函数。在该函数中,您可以编写逻辑来验证至少一个输入字段具有值。例如:
public function callback_at_least_one_value($input_values) {
foreach ($input_values as $value) {
if (!empty($value)) {
return TRUE;
}
}
$this->form_validation->set_message('callback_at_least_one_value', '至少需要一个值');
return FALSE;
}
上述代码中,$input_values是一个包含所有输入字段值的数组。在回调函数中,我们遍历该数组,如果任何一个值不为空,则返回TRUE,表示验证通过。如果所有值都为空,则返回FALSE,并设置一个错误消息。
这样,您就可以使用CodeIgniter的表单验证功能来验证多个输入字段使用相同名称的情况,并确保至少一个值被提交。
领取专属 10元无门槛券
手把手带您无忧上云