check(); } /** * @return array */ public function getRuleGroupData(): array { return [ 'title' => $this->string('title'), 'description' => $this->string('description'), ]; } /** * @return array */ public function rules() { /** @var RuleGroupRepositoryInterface $repository */ $repository = app(RuleGroupRepositoryInterface::class, [auth()->user()]); $titleRule = 'required|between:1,100|uniqueObjectForUser:rule_groups,title'; if (!is_null($repository->find(intval($this->get('id')))->id)) { $titleRule = 'required|between:1,100|uniqueObjectForUser:rule_groups,title,' . intval($this->get('id')); } return [ 'title' => $titleRule, 'description' => 'between:1,5000', ]; } }