get('pdf_driver')) { case 'dompdf': return [ 'pdf_driver' => [ 'required', 'string', ], ]; break; case 'gotenberg': return [ 'pdf_driver' => [ 'required', 'string', ], 'gotenberg_host' => [ 'required', 'url', ], 'gotenberg_papersize' => [ function ($attribute, $value, $fail) { ($attribute); // unused $reg = "/^\d+(pt|px|pc|mm|cm|in) \d+(pt|px|pc|mm|cm|in)$/"; if (! preg_match($reg, $value)) { $fail('Invalid papersize, must be in format "210mm 297mm". Accepts: pt,px,pc,mm,cm,in'); } }, ], ]; break; } throw new \InvalidArgumentException('Invalid PDFDriver requested'); } }