['规则1','规则2'...] * * @var array */ protected $rule = [ 'title|计划名称' => 'require|length:1,100', 'start_time|计划开始时间' => 'require|date|checkStartTime', 'end_time|计划结束时间' => 'require|date', 'content' => 'require|checkContent' ]; /** * 定义错误信息 * 格式:'字段名.规则名' => '错误信息' * * @var array */ protected $message = [ 'title.length' => '计划名称必须在100字以内', 'content.require' => '未设置任务', ]; protected function checkStartTime($value,$rule,$data=[]) { $curDay = date('Y-m-d'); if($curDay > $data['start_time']){ return '计划开始时间不能小于当前时间'; } if($data['start_time'] > $data['end_time']){ return '计划结束时间不能大于计划开始时间'; } return true; } protected function checkContent($value,$rule,$data=[]) { $content = json_decode($data['content'],true); if(!$content){ return '未设置任务'; } if(empty($content['addrForms'])){ return '未设置地点'; } if(empty($content['tasks']['list'])){ return '未设置任务'; } return true; } }