gpt4 book ai didi

php - 我做错了吗,或者在使用数组作为字段名称时 CodeIgniter 表单验证库中是否存在错误?

转载 作者:太空狗 更新时间:2023-10-29 16:37:45 24 4
gpt4 key购买 nike

这是我配置规则的 Controller 代码:

// Previous address(es)         
$this->form_validation->set_rules('prev_house_number[]', 'House Number', 'trim|alpha_numeric');
$this->form_validation->set_rules('prev_abode[]', 'Abode', 'trim');
$this->form_validation->set_rules('prev_house_name[]', 'House Name', 'trim');
$this->form_validation->set_rules('prev_address_line_1[]', 'Address Line 1', 'required|trim');
$this->form_validation->set_rules('prev_address_line_2[]', 'Address Line 2', 'trim');
$this->form_validation->set_rules('prev_city[]', 'Town/City', 'required|trim');
$this->form_validation->set_rules('prev_county[]', 'County', 'trim');
$this->form_validation->set_rules('prev_postcode[]', 'Postcode', 'required|max_length[9]|trim');
$this->form_validation->set_rules('prev_country[]', 'Country', 'trim');
$this->form_validation->set_rules('prev_months[]', 'Previous Months', 'trim|integer');
$this->form_validation->set_rules('prev_years[]', 'Previous Years', 'trim|integer');

用户最多可以输入 5 个以前的地址,如下所示:

Form validation

地址行 1 字段背后的代码如下所示:

<div class="input w100 f-left c-none">
<input type="text" class="address_line_1 postcode_prev_address_1" id="prev_address_line_1[]" name="prev_address_line_1[]" value="<?php echo set_value('prev_address_line_1[]');?>"/>
<label for="prev_address_line_1[]">Address Line 1 <span class="required">*</span></label>
</div>

问题是:假设我输入了 5 个地址,并且表单验证失败,所有五个输入区域都将按预期正确地重新填充。 但是,CodeIgniter 的验证不适用于数组输入

这是验证后的直接截图:

form validation fail

如您所见,虽然它用正确的值重新填充了表单,但它没有对它们应用验证规则,并且似乎没有从 Controller 中识别它们的存在。

我能做什么?

谢谢!

jack

最佳答案

看起来这就是 Phil 所说的提交:https://github.com/EllisLab/CodeIgniter/commit/5c561805bd9ae6a4ad5d202277c34a879617b683#system/libraries/Form_validation.php

尝试从表单验证库的开发分支中提取代码,看看它是否解决了这个问题。

关于php - 我做错了吗,或者在使用数组作为字段名称时 CodeIgniter 表单验证库中是否存在错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7428775/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com