用户
 找回密码
 入住 CI 中国社区
搜索
查看: 1539|回复: 6
收起左侧

[版本 3.x] 我是初学者,表单验证加了xss_clean,就验正不通过?求解

[复制链接]
发表于 2016-6-16 23:44:53 | 显示全部楼层 |阅读模式
代码
$this->form_validation->set_rules("username", "Username", "trim|required|min_length[5]|max_length[12]|xss_clean");
我加了xss_clean函数验证后,就出现错误提示
Unable to access an error message corresponding to your field name Username.(xss_clean)
不知道为什么?请大神解答下!!!
发表于 2016-6-17 09:33:06 | 显示全部楼层
與 xss_clean 無關
純粹沒有 username 這個 input 欄位送往後台吧 ?
 楼主| 发表于 2016-6-17 09:42:43 | 显示全部楼层
Closer 发表于 2016-6-17 09:33
與 xss_clean 無關
純粹沒有 username 這個 input 欄位送往後台吧 ?

有值的,去掉xss_clean 就可以验证通过
发表于 2016-6-17 10:02:05 | 显示全部楼层
桂林小菜鸟 发表于 2016-6-17 09:42
有值的,去掉xss_clean 就可以验证通过

你提供這隻程式的「控制器」與「視圖」的代碼來看看
 楼主| 发表于 2016-6-17 10:04:55 | 显示全部楼层
Closer 发表于 2016-6-17 10:02
你提供這隻程式的「控制器」與「視圖」的代碼來看看

视图
<form action="http://localhost/index.php?/blog/" method="post" accept-charset="utf-8">

<h5>Username</h5>
<input type="text" name="username" value="" size="50" />

<h5>Password</h5>
<input type="text" name="password" value="" size="50" />

<h5>Password Confirm</h5>
<input type="text" name="passconf" value="" size="50" />

<h5>Email Address</h5>
<input type="text" name="email" value="" size="50" />

<div><input type="submit" value="Submit" /></div>

</form>

控制器
class Blog extends CI_Controller {

    public function index()
    {
        $this->load->helper(array('form', 'url'));

        $this->load->library('form_validation');
        $this->form_validation->set_rules(
    'username', 'Username',
    'required|min_length[5]|max_length[12]|xss_clean',
    array(
        'required'  => 'You have not provided %s.',
        'is_unique' => 'This %s already exists.'
    )
);
$this->form_validation->set_rules('password', 'Password', 'required');
$this->form_validation->set_rules('passconf', 'Password Confirmation', 'required|matches[password]');
$this->form_validation->set_rules('email', 'Email', 'required|valid_email|is_unique[users.email]');


        if ($this->form_validation->run() == FALSE)
        {
            $this->load->view('Blog');
        }
        else
        {
            $this->load->view('formsuccess');
        }
    }
}
发表于 2016-6-17 10:10:17 | 显示全部楼层

剛剛查了一下,需要載入這個 :
$autoload['helper'] = array('security'); // 於 autoload.php

$this->load->helper('security'); // 於 該控制器
 楼主| 发表于 2016-6-17 23:17:46 | 显示全部楼层
Closer 发表于 2016-6-17 10:10
剛剛查了一下,需要載入這個 :
$autoload['helper'] = array('security'); // 於 autoload.php

非常感谢你,原来是这个问题。

本版积分规则