@props([ 'showValidationErrors' => true, 'dismissAfter' => 5000, /** @var list Error bag keys omitted from the top banner (shown inline on the form instead). */ 'excludeErrorKeys' => ['source'], ]) @php $successMessage = session('success'); $statusMessage = session('status'); $ignoredStatusCodes = ['verification-link-sent', 'profile-updated', 'password-updated']; $statusIsBanner = is_string($statusMessage) && $statusMessage !== '' && ! in_array($statusMessage, $ignoredStatusCodes, true); $hasSuccess = filled($successMessage); $bannerErrors = collect($errors->getMessages()) ->except($excludeErrorKeys) ->flatten() ->unique() ->values(); $hasErrors = $showValidationErrors && $bannerErrors->isNotEmpty(); $hasAny = $hasSuccess || $statusIsBanner || $hasErrors; @endphp @if ($hasAny)
class(['space-y-4']) }}> @if ($hasSuccess) {{ $successMessage }} @endif @if ($statusIsBanner) {{ $statusMessage }} @endif @if ($hasErrors) @if ($bannerErrors->count() === 1) {{ $bannerErrors->first() }} @else

Please fix the following:

    @foreach ($bannerErrors as $error)
  • {{ $error }}
  • @endforeach
@endif
@endif
@endif