user()->can('packages.create'); } public function rules(): array { return [ 'lot' => ['required', 'string', Rule::unique('packages', 'lot')->where(fn($q) => $q->where('box_number', $this->input('box_number')))], 'box_number' => ['required', 'integer'], 'starting_page' => ['required', 'string', 'regex:/^\d+$/'], 'ending_page' => ['required', 'string', 'regex:/^\d+$/', 'gte:starting_page'], ]; } public function messages(): array { return [ 'lot.required' => 'El lote es requerido', 'lot.unique' => 'Ya existe un paquete con ese lote y número de caja.', 'box_number.required' => 'El número de caja es requerido', 'starting_page.required' => 'La página inicial es requerida', 'starting_page.regex' => 'La página inicial debe ser un número', 'ending_page.required' => 'La página final es requerida', 'ending_page.regex' => 'La página final debe ser un número', 'ending_page.gte' => 'La página final debe ser mayor o igual a la página inicial', ]; } }