'require', 'type' => 'require|in:'.ThemePageEnum::TYPE_HOME.','.ThemePageEnum::TYPE_MEMBER_CENTRE.','.ThemePageEnum::TYPE_GOODS_CATEGORY, 'content' => 'require', 'common' => 'require', ]; protected $message = [ 'id.require' => '请选择主题页面', 'type.require' => '请选择页面类型', 'type.int' => '页面类型错误', 'content' => '请设置页面内容', 'common' => '请设置公共配置', ]; public function sceneDel(){ return $this->only(['id'])->append('checkDelPage'); } public function sceneSetHome(){ return $this->only(['id'])->append('checkPage'); } public function sceneEdit(){ return $this->only(['id','content','common']); } //删除主页 public function checkDelPage($value,$rule,$data){ $page = DecorateThemePage::find($value); if($page->is_home){ return '该页面设置为首页,无法删除'; } return true; } //验证主题页面 public function checkPage($value,$rule,$data) { $page = DecorateThemePage::find($value); if(!$page){ return '页面不存在'; } if(ThemePageEnum::TYPE_HOME !== $page['type']){ return '该页面不是首页类型,不能设置为主页'; } return true; } }