【发布时间】:2020-08-12 11:13:24
【问题描述】:
我正在尝试通过method="GET" 而不是POST 发布我的表单。
Codeigniter 的 form_validation->run() 不起作用。
它没有在视图页面中返回任何form_error。
【问题讨论】:
标签: php codeigniter validation getmethod
我正在尝试通过method="GET" 而不是POST 发布我的表单。
Codeigniter 的 form_validation->run() 不起作用。
它没有在视图页面中返回任何form_error。
【问题讨论】:
标签: php codeigniter validation getmethod
form_validation 的概念是基于使用 POST,因为表单验证函数form_validation->run() 使用 POST 构建其验证数组。
请参阅 Codeigniter public function run() system/libraries/Form_validation.php 的第 417 行附近:
$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);
【讨论】: