verify 내부에서 추가 검증). * * @return array> */ public function rules(): array { return [ 'challenge_id' => ['required', 'string', 'max:64'], // 일반적으로 사용되는 필드 — 명시적으로 nullable 로 허용해 검증 통과 'code' => ['nullable', 'string', 'max:512'], 'token' => ['nullable', 'string', 'max:1024'], 'state' => ['nullable', 'string', 'max:512'], 'redirect_url' => ['nullable', 'string', 'max:2048'], ]; } /** * body / query 양쪽에서 challenge_id 를 합쳐 검증 대상에 포함시킵니다. */ protected function prepareForValidation(): void { if (! $this->filled('challenge_id') && $this->query('challenge_id')) { $this->merge(['challenge_id' => (string) $this->query('challenge_id')]); } } }