动态验证如何处理转义过的字符

浏览:382 发布日期:2016/04/07 分类:求助交流 关键字: 动态验证如何处理转义过的字符
//方法
public function returnAjax(){
        //动态验证不依赖模型类的定义,所以通常用M函数实例化模型就可以
        //$test = D("Home/Test");
        $test = M("Test");
        
        $rule = array(
                array("username","require","用户名不能为空或已存在",0,"unique",1),
                array("age","number","年龄必须是数字"),
                array("click","number","必须是数字"),
        );
        
        $data['username'] = I("post.username","","htmlspecialchars");
        $data['click'] = I("post.click","","htmlspecialchars");
        $data['age'] = I("post.age","","htmlspecialchars");
        
        if (! $test->validate($rule)->create($data)) {
            $mesg =  $test->geterror();
            $this->ajaxReturn($mesg);            
        } else {
            $tt = $test->add();    //返回ID
            if(!!$tt){
                $this->ajaxReturn("提交成功");
            }else{
                $this->ajaxReturn("提交失败");
            }
        }
        
        
    }
静态页面<form class="form-horizontal">
            <div class="form-group">
                <label for="" class="col-md-3 control-label">姓名:</label>
                <div class="col-md-9"><input type="text" class="form-control" name="username" value="1"></div>
            </div>
            <div class="form-group">
                <label for="" class="col-md-3 control-label">年龄:</label>
                <div class="col-md-9"><input type="text" class="form-control" name="age" value="18"></div>
            </div>
            <div class="form-group">
                <label for="" class="col-md-3 control-label">点击:</label>
                <div class="col-md-9"><input type="text" class="form-control" name="click" value="55"></div>
            </div>
            <div class="form-group text-right">
                <botton type="submit" class="btn btn-success">提交</botton>
            </div>
        </form>
JS脚本+jQuery(function(){
        var username = jQuery("input[name=username]");
        var age = jQuery("input[name=age]");
        var click = jQuery("input[name=click]");
        var btn = jQuery(".btn");
        btn.on("click",function(){
            _this = jQuery(this);
            jQuery.ajax({
                url:"{:U('Test/returnAjax','','')}",
                type:'post',
                dataType:'json',
                cache:false,
                data:{
                    'age':age.val(),
                    'click':click.val(),
                    'username':username.val()
                },
                beforeSend:function(){
                    _this.html("数据加载中....");
                },
                success:function(data){
                    alert(data);
                },
                error:function(data){
                    alert(data);    
                },
                complete:function(){
                    _this.html("提交");
                }
                
            });
        });
        
    });
测试数据
姓名:'|\select * from baidu_test2\"\'
年龄:1
点击:1

结果就是有时候居然还可以添加

最佳答案
评论( 相关
后面还有条评论,点击查看>>