string('items.0.From.Address')); } public function getToAddress(): Email { return new Email((string) $this->input('items.0.To.0.Address')); } public function getRawHtmlBody(): string { return $this->string('items.0.RawHtmlBody'); } /** * Get the validation rules that apply to the request. * * @return array|string> */ public function rules(): array { $expectedFormAddress = Config::string('mail.brevo_webook.expected_from_address'); return [ 'items' => ['required', 'array', 'min:1'], 'items.0.From.Address' => ['required', 'email:rfc,spoof'], 'items.0.To.*.Address' => ['required', 'email:rfc,spoof', "in:{$expectedFormAddress}"], 'items.0.RawHtmlBody' => ['required', 'string', 'min:10'], ]; } }