Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CodeIgniter验证:是否可以验证GET查询字符串?_Codeigniter_Codeigniter 2 - Fatal编程技术网

CodeIgniter验证:是否可以验证GET查询字符串?

CodeIgniter验证:是否可以验证GET查询字符串?,codeigniter,codeigniter-2,Codeigniter,Codeigniter 2,表单验证库似乎只适用于POST。我需要使用查询字符串,并希望使用CI来验证传递的值。有没有办法做到这一点?提供了一个选项,可以插入您自己的变量,而不是$\u POST。所以你可以开始使用3.0 或者,在CI2.1中,唯一的方法是在运行验证之前执行$\u POST=$\u GET。您可以覆盖在MY\u Form\u验证中运行的Form\u验证函数并对其进行修改。有关CodeIgniter 3解决方案,请参见本页:- 对于CodeIgniter 2,您可以执行$\u POST=$\u GET;在$

表单验证库似乎只适用于POST。我需要使用查询字符串,并希望使用CI来验证传递的值。有没有办法做到这一点?

提供了一个选项,可以插入您自己的变量,而不是$\u POST。所以你可以开始使用3.0


或者,在CI2.1中,唯一的方法是在运行验证之前执行$\u POST=$\u GET。

您可以覆盖在MY\u Form\u验证中运行的Form\u验证函数并对其进行修改。

有关CodeIgniter 3解决方案,请参见本页:-

对于CodeIgniter 2,您可以执行$\u POST=$\u GET;在$this->form_validation->run()之前,如上所述

参考

在验证规则之前,请使用以下代码设置验证数据

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

您可以让CodeIgniter认为它是来自POST,即使它不是
$\u POST=$\u GET
,也许?哈哈,整个类都是硬编码的,使用
$\u POST
。因此,除非您完全覆盖它,否则不可能重复我的答案。请您提供“插入您自己的变量而不是$\u POST的选项”好吗?因为我正在迁移到CI 3.0,我所有的表单验证都运行良好,只有一个例外。我收到GET值,我想验证它们。。。我不知道该怎么办,谢谢!我刚发现问题出在哪里!!!在CI 3.0中,它们添加了一点检查。转到system/libraries/Form_validation.php。搜索“set_rules”函数并删除以下行:if($this->CI->input->method()!='post'&&empty($this->validation_data)){return$this;}我尝试了$_post=$GET,但是validation->run()仍然返回false你需要做的是
$\u GET
而不是
$GET
@nicolastery很抱歉,很久以前我记不清了。我想我会坚持下去,即使这显然不是最好的解决方案!