表单验证无法与表单GET方法一起使用

时间:2020-04-28 15:10:39

标签: php codeigniter validation getmethod

我正在尝试通过method="GET"而不是POST发布表单。

Codeigniter的form_validation->run()不起作用。

在查看页面中没有返回任何form_error

2 个答案:

答案 0 :(得分:2)

如果必须使用$_GET,则可以在验证规则之前设置验证数据:

$this->form_validation->set_data($_GET);

请参阅:Validating an Array (other than $_POST)

答案 1 :(得分:1)

form_validation的概念基于使用POST,因为表单验证功能git remote set-url origin https://[ORG]:${TOKEN}@github.com/${TRAVIS_REPO_SLUG} 使用POST构建其验证数组。

请参见form_validation->run()的第417行处的Codeigniter public function run()

system/libraries/Form_validation.php

但是正如@Hasta Dhana的答案所指出的,您可以使用$ _GET或任何其他数组,例如:

$validation_array = empty($this->validation_data)
          ? $_POST
          : $this->validation_data;

如果您想validate an array that does not originate from $_POST data。然后,此数组在if子句中代替$this->form_validation->set_data($_GET);

相关问题