Ajout des vérifications des types dans les formulaires (adresses, email, telephone)

This commit is contained in:
PTA
2026-08-21 13:50:05 +02:00
parent b3e53f83b8
commit 44730eefca
15 changed files with 898 additions and 17 deletions

View File

@@ -13,6 +13,17 @@
*
* L'ordre est celui du travail réel : on crée un agent, puis on consulte ou
* corrige sa fiche dans le tableau qui suit.
*
* V7.25 : les deux champs d'adresse (création et fiche) sont enveloppés dans un
* conteneur `[data-address-autocomplete]` que le module `addressAutocomplete`
* branche sur la Base Adresse Nationale. La structure attendue est fixe —
* champ + `[data-address-suggestions]` + `[data-address-status]` — mais aucun
* identifiant n'est connu du module.
*
* Même principe pour l'e-mail et le téléphone : `data-format="email|phone"` sur
* le champ et un `[data-format-status]` frère suffisent au module `fieldFormat`
* à contrôler la saisie. Ce contrôle ne fait que PRÉVENIR : c'est
* App\Core\ContactFormat qui refuse pour de bon, côté serveur.
*/
?>
<section id="manage-agents-view" class="app-view page-content">
@@ -66,11 +77,13 @@
</label>
<label class="field">
<span>E-mail</span>
<input id="new-agent-email" name="email" type="email" maxlength="255" placeholder="prenom.nom@exemple.fr">
<input id="new-agent-email" name="email" type="email" maxlength="255" placeholder="prenom.nom@exemple.fr" data-format="email">
<p class="field-format-status" role="status" aria-live="polite" data-format-status></p>
</label>
<label class="field">
<span>Téléphone</span>
<input id="new-agent-phone" name="telephone" type="tel" maxlength="30" placeholder="Ex. 06 12 34 56 78">
<input id="new-agent-phone" name="telephone" type="tel" maxlength="30" placeholder="Ex. 06 12 34 56 78" data-format="phone">
<p class="field-format-status" role="status" aria-live="polite" data-format-status></p>
</label>
<label class="field">
<span>Qualification</span>
@@ -85,7 +98,11 @@
</label>
<label class="field admin-field-wide">
<span>Adresse personnelle</span>
<textarea id="new-agent-address" name="adresse" maxlength="255" rows="2" placeholder="Adresse de l’agent"></textarea>
<div class="address-autocomplete" data-address-autocomplete>
<textarea id="new-agent-address" name="adresse" maxlength="255" rows="2" placeholder="Ex. 12 rue de la Liberté, Dijon"></textarea>
<ul id="new-agent-address-suggestions" class="address-suggestions" role="listbox" aria-label="Adresses proposées" data-address-suggestions hidden></ul>
<p class="address-autocomplete-status" role="status" aria-live="polite" data-address-status></p>
</div>
</label>
<label class="field">
<span>Quotité de travail <strong>*</strong></span>
@@ -219,11 +236,13 @@
</label>
<label class="field">
<span>E-mail</span>
<input id="edit-agent-profile-email" type="email" maxlength="255">
<input id="edit-agent-profile-email" type="email" maxlength="255" placeholder="prenom.nom@exemple.fr" data-format="email">
<p class="field-format-status" role="status" aria-live="polite" data-format-status></p>
</label>
<label class="field">
<span>Téléphone</span>
<input id="edit-agent-profile-phone" type="tel" maxlength="30" placeholder="Ex. 06 12 34 56 78">
<input id="edit-agent-profile-phone" type="tel" maxlength="30" placeholder="Ex. 06 12 34 56 78" data-format="phone">
<p class="field-format-status" role="status" aria-live="polite" data-format-status></p>
</label>
<label class="field">
<span>Qualification</span>
@@ -238,7 +257,11 @@
</label>
<label class="field admin-field-wide">
<span>Adresse personnelle</span>
<textarea id="edit-agent-profile-address" maxlength="255" rows="3"></textarea>
<div class="address-autocomplete" data-address-autocomplete>
<textarea id="edit-agent-profile-address" maxlength="255" rows="3" placeholder="Ex. 12 rue de la Liberté, Dijon"></textarea>
<ul id="edit-agent-profile-address-suggestions" class="address-suggestions" role="listbox" aria-label="Adresses proposées" data-address-suggestions hidden></ul>
<p class="address-autocomplete-status" role="status" aria-live="polite" data-address-status></p>
</div>
</label>
<label class="field">
<span>Date de début du contrat <strong>*</strong></span>