表单验证不适用于表单 GET 方法
Form validation not working with form GET method
我正在尝试 post 我的表单 method="GET"
而不是 POST
。
Codeigniter 的 form_validation->run()
不起作用。
它没有在视图页面中返回任何 form_error
。
form_validation 的概念基于 POST 的使用,因为表单验证函数 form_validation->run()
使用 POST.
构建其验证数组
请参阅 system/libraries/Form_validation.php
第 417 行附近的 Codeigniter public function run()
:
$validation_array = empty($this->validation_data)
? $_POST
: $this->validation_data;
但正如@Hasta Dhana 的回答中指出的那样,您可以使用 $_GET 或任何其他数组,例如:
$this->form_validation->set_data($_GET);
如果你想validate an array that does not originate from $_POST data。然后,此数组将取代 if 子句
中的 $this->validation_data
如果你必须使用$_GET
,你可以在验证规则之前设置验证数据:
$this->form_validation->set_data($_GET);
我正在尝试 post 我的表单 method="GET"
而不是 POST
。
Codeigniter 的 form_validation->run()
不起作用。
它没有在视图页面中返回任何 form_error
。
form_validation 的概念基于 POST 的使用,因为表单验证函数 form_validation->run()
使用 POST.
请参阅 system/libraries/Form_validation.php
第 417 行附近的 Codeigniter public function run()
:
$validation_array = empty($this->validation_data) ? $_POST : $this->validation_data;
但正如@Hasta Dhana 的回答中指出的那样,您可以使用 $_GET 或任何其他数组,例如:
$this->form_validation->set_data($_GET);
如果你想validate an array that does not originate from $_POST data。然后,此数组将取代 if 子句
中的$this->validation_data
如果你必须使用$_GET
,你可以在验证规则之前设置验证数据:
$this->form_validation->set_data($_GET);