我正在构建一个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.')
);
我现在的问题是我不知道如何获取触发该规则的条目的索引。我的客户需要知道哪个发票导致问题。
答案 0 :(得分:0)
我也会通过javascript验证它。大多数主流浏览器都支持javascript,因此几乎所有用户都会在提交表单之前收到错误。
这是我的建议:
步骤1:在项目中设置任何javascript验证库,如validate.js(或任何其他)。
第2步:配置javascript验证,以便用户在提交表单之前收到错误消息。他们将在受影响的输入上得到错误。
第3步:保持PHP验证。这很重要,因为javascript可以被禁用甚至被黑客攻击,所以我们总是需要在服务器上验证用户信息。
这样您就可以解决您的问题:用户将在表单中显示错误消息,您的数据库将始终拥有正确的信息。
希望这会有所帮助,问候。