如何在codeigniter表单验证中获取字段数组的索引?

时间:2017-10-24 02:34:36

标签: php codeigniter

我正在构建一个codeigniter数据输入表单。然而,表单主要是根据需要提交的条目在JS中动态生成的。

这意味着我必须使用

<input type='text' name='invoice[]' id='invoice" + index + "' class='form-control' size='20' value=''>

要验证它,我使用

$this->form_validation->set_rules('invoice[]', 'Invoice field', 'required|trim|alpha_numeric|is_unique[BillingInvoices.InvoiceNumber]',
            array('required' => 'Must enter invoice number.',
                'alpha_numeric' => 'Invoice can only contain letters and numbers',
                'is_unique' => 'Invoice number must be unique in database.')
        );

我现在的问题是我不知道如何获取触发该规则的条目的索引。我的客户需要知道哪个发票导致问题。

1 个答案:

答案 0 :(得分:0)

我也会通过javascript验证它。大多数主流浏览器都支持javascript,因此几乎所有用户都会在提交表单之前收到错误。

这是我的建议:

步骤1:在项目中设置任何javascript验证库,如validate.js(或任何其他)。

第2步:配置javascript验证,以便用户在提交表单之前收到错误消息。他们将在受影响的输入上得到错误。

第3步:保持PHP验证。这很重要,因为javascript可以被禁用甚至被黑客攻击,所以我们总是需要在服务器上验证用户信息。

这样您就可以解决您的问题:用户将在表单中显示错误消息,您的数据库将始终拥有正确的信息。

希望这会有所帮助,问候。