单个请求多次运行验证

时间:2011-07-04 09:34:52

标签: php validation codeigniter

在我的页面上,我有一个常规表单,其中包含在form_validation.php文件中定义的一些验证规则。还定义了一些自定义验证回调。一切正常。

可以在excel文件中提供相同的输入,其中单行包含与表单可捕获的数据相同的数据。我想使用相同的规则逐个验证多行。

在我从电子表格中读取一行后,我使用与我的webform中定义的相同的键填充$ _POST数组。然后我调用适当的验证规则:

if($this->form_validation->run('item/add') == FALSE) ...

问题是这只适用于第一行。对于第二行,不触发一些验证规则(例如,基本的“必需”规则)。此外,如果单行验证失败,则会记住错误,并且即使当前行有效,所有将来调用$ this-> form_validation-> run('item / add')的结果都会显示相同的错误消息。

我尝试通过调用以下代码重置验证(没有运气):

$this->form_validation = new CI_Form_validation();

有什么想法吗?

编辑:我想出来了。解决方案描述了HERE

1 个答案:

答案 0 :(得分:0)

我下载了CI表单验证库并看一看,我不使用Code Igniter,但我的猜测是除了做

$this->form_validation = new CI_Form_validation();

您还必须运行

$this->form_validation->set_rules()

在循环的每次迭代中。否则,新类将不会分配任何验证规则。