validate验证在进行异步数据库查询验证的过程中用到了remote这个参数
remote里面有url,dataType,data,type等等这几个参数,当data不写的时候默认是当前被验证的字段的值。传值到php文件中,在php文件中处理的时候,返回值为 “true”或者"false",返回值需要加引号。
以下为一个测试案例:
js的写法
var option = { rules:{ BaleNo:{ required:true, remote:{ url:checkBaleNoUrl, type:'post', dataType:'json', } }, ExpressNoList:{ required:true }, }, messages:{ BaleNo:{ required:'托盘号不能为空', remote:'托盘号已经存在', }, ExpressNoList:{ required:"运单号不能为空" }, } };
php中方法的写法:
public function ajaxCheckTrayNo(){ if($_REQUEST['BaleNo']!=''){ $model = M("OrderTray"); $map['tray_no'] = $_REQUEST['BaleNo']; $number = $model -> where($map) -> count(); if($number>0){ echo "false"; }else{ echo "true"; } }else{ echo "false"; } }