'require', 'end|结束日期' => 'require|checkEnd', 'forms|任务项' => 'require', 'addrs|地点' => 'require', 'form_id|任务项' => 'require', 'address_id|地点' => 'require', 'user' => 'require' ]; protected $message = [ 'user.require' => '未选择人员' ]; protected $scene = [ 'add' => ['start','end','forms','addrs'], 'edit' => ['start','end','form_id','address_id','user'] ]; protected function checkEnd($value, $rule, $data=[]){ if($data['start'] > $data['end']){ return '开始日期不能大于结束日期'; } if(!$data['plan_id']){ return '参数错误'; } $smonth = date('Y-m',strtotime($data['start'])); $emonth = date('Y-m',strtotime($data['end'])); if($smonth != $emonth){ return '日期不能跨月'; } $pinfo = Db::name('f_clean_plan')->where('id',$data['plan_id'])->where('del',0)->find(); if(!$pinfo){ return '月计不存在'; } if($smonth != $pinfo['month']){ return '日期不能跨月'; } return true; } }