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
$this->titre = "INTER-SANTE - Ajout Adhérent";
$dateAvenant = $_SESSION['dateAvenant_C'];
//
?>
<div id="div_ajout_adherent" class="container-fluid py-2 animate__animated animate__fadeIn">
@ -164,9 +163,18 @@
</div>
<div class="col-md-6">
<label class="form-label fw-bold small text-uppercase">
<?= _("Téléphone Portable") ?><span class="required-star">*</span>
</label>
<div class="d-flex justify-content-between align-items-center">
<label class="form-label fw-bold small text-uppercase">
<?= _("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">
<span class="input-group-text bg-white text-muted"><i class="fas fa-mobile-alt"></i></span>
<input type="tel"
@ -175,22 +183,22 @@
name="telephonePortable"
placeholder="Ex:250700000001"
required
<!--
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.";?>"
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 class="form-text text-muted small">
<div id="aideTelephone" 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)'; ?>
</div>-->
</div>
</div>
<div class="col-md-6">
<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>
@ -253,9 +261,54 @@
</div>
<?php endif; ?>
</div>
<script>
/*
document.getElementById('telephonePortable').addEventListener('input', function (e) {
const inputTel = document.getElementById('telephonePortable');
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,}$/;
if (pattern.test(this.value)) {
this.classList.remove('is-invalid');
@ -265,5 +318,4 @@
this.classList.add('is-invalid');
}
});
*/
</script>

View File

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