为什么thinkphp 自动验证不起作用?

为什么thinkphp 自动验证不起作用
建立的zsh_order数据表,
首先OrderController

//过滤四张图片地址之间的空白符号
    public function filter($str){
        $str = str_replace(",",",",$str);
        $str = str_replace(array("\r\n","\n","\r",'"','"',','),"",$str);
        return $str;
    }


//基本信息填写
    public function add(){
        if(IS_POST){
            $order=D('order');
            $message['cname']=I('cname');
            $message['license']=I('license');
            $message['bankinfo']=I('bankinfo');
            $message['bankaccount']=I('bankaccount');
            $message['uname']=I('uname');
            $message['weixin']=I('weixin');
            $message['email']=I('email');
            $message['phone']=I('phone');
            $message['o_uid']=$_SESSION['uid'];
            $message['ctime']=time();


            if($_FILES['pic0']['tmp_name']!='' || 
               $_FILES['pic1']|| ['tmp_name']!=''||$_FILES['pic2']          
               ['tmp_name']!='' || $_FILES['pic3']['tmp_name']!=''){                
                $upload=new \Think\Upload();
                $upload->maxSize = 3145728;
                $upload->exts=array('jpg','gif','png','jpeg');
                $upload->savePath='./Public/Uploads/';
                $upload->rootPath='./';
                $info = $upload->upload();
                if(!$info){
                    $this->error($upload->getError());
                }else{
                    $res2 = array();
                    foreach($info as $k=>$v){
                    //$this->filter过滤
                        $data['pic']= $this->filter($v['savepath'].$v['savename']);
                        array_push($res2, $data);
                        
                    }
                    $message['pic0']=$res2[0]['pic'];
                    $message['pic1']=$res2[1]['pic'];
                    $message['pic2']=$res2[2]['pic'];
                    $message['pic3']=$res2[3]['pic'];


                }

                if($_POST['check']==''){

                    $this->error('您还没有勾选[以上信息我已阅读并确认]',U('order/index'));
                }else if($order->create($message)){
                    if($order->add()){
                    $this->success('添加数据成功',U('risk/index'));
                }else{
                    $this->error('添加数据失败!',U('order/index'));
                }
                }else{
                    $this->error($order->getError());
                }

                return;
            }
        }
    }

然后是Ordermodel的自动验证
图片描述

最后是view页面

            <form class="bigbox" action="{:U('add','','')}" method="post" enctype="multipart/form-data">
                <div id="preview">
                    <img id="imghead" src="__PUBLIC__/Home/images/opc.png" width=161 height=161 border=0>
                </div>
                <div id="preview2">
                    <img id="imghead2" src="__PUBLIC__/Home/images/opc.png" width=161 height=161 border=0>
                </div>
                <div id="preview3">
                    <img id="imghead3" src="__PUBLIC__/Home/images/opc.png" width=161 height=161 border=0>
                </div>
                <div id="preview4">
                    <img id="imghead4" src="__PUBLIC__/Home/images/opc.png" width=161 height=161 border=0>
                </div>
                <input type="file" unselectable="on" value="选择文件" name="pic0" class="input_1" onchange="previewImage(this)"/>
                <input type="file" unselectable="on" value="选择文件" name="pic1" class="input_2" onchange="previewImage2(this)"/> 
                <input type="file" unselectable="on" value="选择文件" name="pic2" class="input_3" onchange="previewImage3(this)"/> 
                <input type="file" unselectable="on" value="选择文件" name="pic3" class="input_4" onchange="previewImage4(this)"/>  
                <span class="title1">公司资料</span>
                <div class="box1" style="z-index:10;">
                    <input type="text" class="input_top" style="padding-left:20px;width:348px;" id="js-cname" name="cname" onblur="checkCompName()">
                    <span class="span_1 compName">填写公司全称</span>
                    <div style="z-index:100000;">
                    <div class="select_file1" class="select_file">  
                        <a href="javascript:void(0);">上传公司营业执照</a> 
                    </div>
                    <div class="select_file2">  
                        <a href="javascript:void(0);">上传开户许可证</a>      
                    </div>
                    </div>
                    <input type="text" class="input2" style="padding-left:20px;width:348px;" name="license" onblur="checkIdcard()">
                    <span class="span_2 idcard">法人身份证号</span>
                    <div class="select_file3">  
                        <a href="javascript:void(0);">上传法人身份证正面</a>  
                    </div>
                    <div class="select_file4">  
                        <a href="javascript:void(0);">上传法人身份证反面</a>  
                    </div>
                    <div class="clearfloat"></div>
                </div>
                <span class="title2">出入金银行信息</span>
                <div class="box2">
                    <div class="">中国工商银行</div>
                    <span class="span_1">开户银行仅限工行</span>
                    <input type="text" placeholder="" class="input_bankInfo" style="padding-left:20px;width:348px;" name="bankinfo" onblur="checkbankInfo()">
                    <span class="bankInfo">支行信息</span>
                    <input type="text" placeholder="" class="input_bankAccount" style="padding-left:20px;width:348px;" name="bankaccount" onblur="checkbankAccount()">
                    <span class="bankAccount">银行账户</span>
                    <input type="text" placeholder="" style="padding-left:20px;width:348px;" name="uname" class="input_username" onblur="checkUserName()">
                    <span class="UserName">开户人姓名</span>
                </div>
                <span class="title3">技术信息</span>
                <div class="box3">
                    <input type="text" placeholder="" style="padding-left:20px;width:348px;" class="input_OfficialAccounts" name="weixin" onblur="checkOfficialAccounts()">
                    <span class="OfficialAccounts">公众号原始ID</span>
                    <input type="text" class="input_email" placeholder="" style="padding-left:20px;width:348px;"  name="email" onblur="checkEmail()">
                    <span class="userEmail">负责人邮箱</span>
                    <input type="text" class="input_phone" placeholder="" style="padding-left:20px;width:348px;"   name="phone" onblur="checkPhone()">
                    <span class="userPhone">负责人手机</span>
                </div>
                <input type="submit" value="下一步" class="next" id="js-btn">
                <input type="checkbox" class="check" name="check" value="1">
                <span class="check_span">以上信息确认无误</span>
            </form>
阅读 3.8k
2 个回答

1、控制器代码请贴全
2、这缩进逼死强迫症
现有的代码片段里可以看到的错误,不应该用M('order'),应该用D('order'),前者实例化的时model类,后者实例化的才是orderModel类

楼上说的没错,自动验证,要用D函数,仔细看文档,可以先仿照文档上来

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题