{{-- Adresse (rue, numero, code postal, localite, pays optionnel). Contrat de nommage : reponses[][rue], [numero], [code_postal], [localite], [pays] (voir App\Services\Formulaires\ValidateurSchema::reglesAdresse()). Le "N°" et le pays restent facultatifs meme si le champ est obligatoire. Peaufinage charte (Phase 2) : mise en page via la grille utilitaire .biome-grille-3 (deja globale et responsive, voir public/css/mobile.css) : rue en pleine largeur, puis numero / code postal / localite alignes sur une meme rangee, puis pays en pleine largeur. Sous 1024px la grille repasse a 1 colonne (regle deja existante, aucune media query ajoutee ici). Chaque sous-champ porte son propre mini-label (classe .formulaire-public__mini-label, definie dans public.blade.php). --}} @php $cle = $champ['cle'] ?? ''; $obligatoire = (bool) ($champ['obligatoire'] ?? false); $valeurs = (array) old("reponses.{$cle}", []); $rue = $valeurs['rue'] ?? ''; $numero = $valeurs['numero'] ?? ''; $codePostal = $valeurs['code_postal'] ?? ''; $localite = $valeurs['localite'] ?? ''; $pays = $valeurs['pays'] ?? ''; $erreurRue = $errors->has("reponses.{$cle}.rue"); $erreurNumero = $errors->has("reponses.{$cle}.numero"); $erreurCodePostal = $errors->has("reponses.{$cle}.code_postal"); $erreurLocalite = $errors->has("reponses.{$cle}.localite"); @endphp
{{ $champ['label'] ?? $cle }}@if ($obligatoire) *@endif
@error("reponses.{$cle}.rue"){{ $message }}@enderror
@error("reponses.{$cle}.numero"){{ $message }}@enderror
@error("reponses.{$cle}.code_postal"){{ $message }}@enderror
@error("reponses.{$cle}.localite"){{ $message }}@enderror
@if (! empty($champ['aide'])) {{ $champ['aide'] }} @endif