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