This commit is contained in:
KONE SOREL 2026-03-24 09:19:53 +00:00
parent 5932aee3cc
commit bea3ebae12
2 changed files with 66 additions and 16 deletions

View File

@ -1,7 +1,6 @@
<?php <?php
$this->titre = "INTER-SANTE - Ajout Adhérent"; $this->titre = "INTER-SANTE - Ajout Adhérent";
$dateAvenant = $_SESSION['dateAvenant_C']; $dateAvenant = $_SESSION['dateAvenant_C'];
//
?> ?>
<div id="div_ajout_adherent" class="container-fluid py-2 animate__animated animate__fadeIn"> <div id="div_ajout_adherent" class="container-fluid py-2 animate__animated animate__fadeIn">
@ -164,9 +163,18 @@
</div> </div>
<div class="col-md-6"> <div class="col-md-6">
<label class="form-label fw-bold small text-uppercase"> <div class="d-flex justify-content-between align-items-center">
<?= _("Téléphone Portable") ?><span class="required-star">*</span> <label class="form-label fw-bold small text-uppercase">
</label> <?= _("Téléphone Portable") ?><span class="required-star">*</span>
</label>
<div class="form-check mb-1">
<input class="form-check-input" type="checkbox" id="ignorerFormat" name="ignorerFormat">
<label class="form-check-label small text-muted" for="ignorerFormat">
<?= est_anglophone() ? "Free format" : "Format libre"; ?>
</label>
</div>
</div>
<div class="input-group"> <div class="input-group">
<span class="input-group-text bg-white text-muted"><i class="fas fa-mobile-alt"></i></span> <span class="input-group-text bg-white text-muted"><i class="fas fa-mobile-alt"></i></span>
<input type="tel" <input type="tel"
@ -175,22 +183,22 @@
name="telephonePortable" name="telephonePortable"
placeholder="Ex:250700000001" placeholder="Ex:250700000001"
required required
<!--
pattern="^250[0-9]{9,}$" pattern="^250[0-9]{9,}$"
title="<?= est_anglophone() ? "The number must start with 250 and contain at least 12 digits." : "Le numéro doit commencer par 250 et comporter au moins 12 chiffres.";?>" title="<?= est_anglophone() ? "The number must start with 250 and contain at least 12 digits." : "Le numéro doit commencer par 250 et comporter au moins 12 chiffres.";?>"
oninput="this.setCustomValidity('')" oninput="this.setCustomValidity('')"
oninvalid="this.setCustomValidity('<?= est_anglophone() ? 'The number must mandatorily start with 250 and contain at least 12 digits in total.' : 'Le numéro doit obligatoirement commencer par 250 et contenir au moins 12 chiffres au total.';?>')"> oninvalid="validerMessageTelephone(this)">
-->
</div> </div>
<!-- <div id="aideTelephone" class="form-text text-muted small">
<div class="form-text text-muted small">
<i class="fas fa-info-circle"></i> <?= est_anglophone() ? 'Required format: 250XXXXXXXXX (min. 12 digits)' : 'Format requis : 250XXXXXXXXX (min. 12 chiffres)'; ?> <i class="fas fa-info-circle"></i> <?= est_anglophone() ? 'Required format: 250XXXXXXXXX (min. 12 digits)' : 'Format requis : 250XXXXXXXXX (min. 12 chiffres)'; ?>
</div>--> </div>
</div> </div>
<div class="col-md-6"> <div class="col-md-6">
<label class="form-label fw-bold small text-uppercase"><?= _("Téléphone Fixe") ?></label> <label class="form-label fw-bold small text-uppercase"><?= _("Téléphone Fixe") ?></label>
<input type="tel" class="form-control" id="telephonFixe" name="telephonFixe"> <div class="input-group">
<span class="input-group-text bg-white text-muted"><i class="fas fa-phone"></i></span>
<input type="tel" class="form-control" id="telephonFixe" name="telephonFixe">
</div>
</div> </div>
</div> </div>
</div> </div>
@ -253,9 +261,54 @@
</div> </div>
<?php endif; ?> <?php endif; ?>
</div> </div>
<script> <script>
/* const inputTel = document.getElementById('telephonePortable');
document.getElementById('telephonePortable').addEventListener('input', function (e) { const checkIgnorer = document.getElementById('ignorerFormat');
const aideTel = document.getElementById('aideTelephone');
// Messages traduits pour le JS
const msgErreur = "<?= est_anglophone() ? 'The number must start with 250 and contain at least 12 digits.' : 'Le numéro doit commencer par 250 et comporter au moins 12 chiffres.'; ?>";
// Fonction pour gérer les messages d'erreur personnalisés
window.validerMessageTelephone = function(input) {
if (!checkIgnorer.checked) {
input.setCustomValidity(msgErreur);
} else {
input.setCustomValidity('');
}
};
// Écouteur sur la checkbox pour activer/désactiver les règles
checkIgnorer.addEventListener('change', function() {
if (this.checked) {
// On retire les contraintes
inputTel.removeAttribute('pattern');
inputTel.removeAttribute('title');
inputTel.setCustomValidity('');
inputTel.classList.remove('is-invalid');
aideTel.style.display = 'none'; // On cache l'aide du format requis
inputTel.placeholder = "<?= _('Entrez le numéro'); ?>";
} else {
// On remet les contraintes par défaut
inputTel.setAttribute('pattern', '^250[0-9]{9,}$');
inputTel.setAttribute('title', msgErreur);
aideTel.style.display = 'block';
inputTel.placeholder = "Ex:250700000001";
// On redéclenche la validation visuelle
inputTel.dispatchEvent(new Event('input'));
}
});
// Validation visuelle en temps réel (is-valid / is-invalid)
inputTel.addEventListener('input', function() {
if (checkIgnorer.checked) {
this.classList.remove('is-invalid');
this.classList.add('is-valid');
return;
}
const pattern = /^250[0-9]{9,}$/; const pattern = /^250[0-9]{9,}$/;
if (pattern.test(this.value)) { if (pattern.test(this.value)) {
this.classList.remove('is-invalid'); this.classList.remove('is-invalid');
@ -265,5 +318,4 @@
this.classList.add('is-invalid'); this.classList.add('is-invalid');
} }
}); });
*/
</script> </script>

View File

@ -396,8 +396,6 @@ $photoAssureCrypte = $_SESSION['photoAssureCrypte'];
</nav> </nav>
</aside> </aside>
<!-- Main Content --> <!-- Main Content -->
<main class="app-main" id="mainContent"> <main class="app-main" id="mainContent">
<INPUT class="sr-only" TYPE="text" id="vue" name="vue" value="<?= isset($_SESSION['vue']) ? $_SESSION['vue'] : ""; ?>"> <INPUT class="sr-only" TYPE="text" id="vue" name="vue" value="<?= isset($_SESSION['vue']) ? $_SESSION['vue'] : ""; ?>">