. */ declare(strict_types=1); namespace FireflyIII\Http\Requests; use FireflyIII\Models\Category; /** * Class CategoryFormRequest. */ class CategoryFormRequest extends Request { /** * Verify the request. * * @return bool */ public function authorize(): bool { // Only allow logged in users return auth()->check(); } /** * Get information for the controller. * * @return array */ public function getCategoryData(): array { return [ 'name' => $this->string('name'), ]; } /** * Rules for this request. * * @return array */ public function rules(): array { $nameRule = 'required|between:1,100|uniqueObjectForUser:categories,name'; /** @var Category $category */ $category = $this->route()->parameter('category'); if (null !== $category) { $nameRule = 'required|between:1,100|uniqueObjectForUser:categories,name,' . $category->id; } // fixed return [ 'name' => $nameRule, ]; } }