我正在使用Codeigniter创建基于WebSocket的应用程序。因此,数据将作为JSON字符串(而不是POST方法)。我想使用Codeigniter的内置form_validation方法来验证作为JSON接收的数据。
这是我到目前为止尝试设置变量所以我可以通过$this->input->post('variable_name')
访问它但是。
尝试#1
$_POST['variable_name'] = !isset($data['variable_name']) ? NULL : $data['variable_name'];
尝试#2
$variable_name = !isset($data['variable_name']) ? NULL : $data['variable_name'];
$this->form_validation->set_value("variable_name", $variable_name);
但是当我使用$this->input->post('variable_name')
时
它返回NULL
。
答案 0 :(得分:8)
以下是我如何实现它。虽然,它似乎不是一个准确的解决方案,但它很简单,没有解决方法。
我在执行表单验证之前只添加了一行
$_SERVER["REQUEST_METHOD"] = "POST";
然后像这样设置变量
$_POST['post_var'] = "value";
现在设置验证规则并执行验证。
它是:)
答案 1 :(得分:5)
有一种名为set_data()
的方法,专门用于验证非POST输入。