input('type') !== CategoryType::Transfer->value) { $this->merge([ 'cashflow_direction' => CategoryCashflowDirection::Hidden->value, ]); return; } $this->merge([ 'cashflow_direction' => $this->input('cashflow_direction', CategoryCashflowDirection::Hidden->value), ]); } /** * Get the validation rules that apply to the request. * * @return array|string> */ public function rules(): array { return [ 'name' => [ 'required', 'string', 'max:255', Rule::unique('categories', 'name') ->where('user_id', auth()->id()), ], 'icon' => ['required', 'string'], 'color' => [ 'required', 'string', Rule::enum(CategoryColor::class), ], 'type' => [ 'required', 'string', Rule::enum(CategoryType::class), ], 'cashflow_direction' => [ 'required', 'string', Rule::enum(CategoryCashflowDirection::class), ], ]; } }