user()->can('packages.edit'); } public function rules(): array { return [ 'lot' => ['sometimes', 'string'], 'box_number' => ['sometimes', 'integer'], 'starting_page' => ['sometimes', 'string', 'regex:/^\d+$/'], 'ending_page' => ['sometimes', 'string', 'regex:/^\d+$/', 'gte:starting_page'], ]; } public function messages(): array { return [ 'lot.required' => 'El lote es requerido', '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', ]; } }