Je suis plus ou moins bloqué...
J'ai un champ 'date_mariage' dans mon formulaire.
Ce champ est pour l'instant obligatoire:
- si pas de date: erreur champ non renseigné
- si date pas au format jj/mm/aaaa: erreur champ mal renseigné
Le code ci-dessous fonctionne parfaitement.
Mais je souhaite rendre maintenant ce champ facultatif.
Cela signifie que:
- si le champ est vide, je laisse passer, pas de contrôle
- si le champ est renseigné, mais pas au format jj/mm/aaaa, j'affiche un message d'erreur: erreur champ mal renseigné
Pourriez-vous m'aider à adapter mon code ci-dessous pour y parvenir ?
Merci pour vos conseils !
Voici mon php
Code : Tout sélectionner
if(($_POST['date_mariage']) && trim($_POST['date_mariage']) != '') //Si le champ est rempli
{ if(eregi("^([0-9]{2})/([0-9]{2})/([0-9]{4})$",$_POST['date_mariage']))
{
$affich['date_mariage'] = htmlspecialchars($_POST['date_mariage']); // on enregistre la donnée
}
else
{
$Edate_mariagefaux = '<p class="error">Veuillez indiquer une date au format jj/mm/aaaa</p>'; //on prépare un message comme quoi l'email est incorrect
}
}
else
{
$Edate_mariage = '<p class="error">Veuillez indiquer votre date de mariage</p>'; // on prépare un message comme quoi le champ est vide
}
Code : Tout sélectionner
<label for="date_mariage">Votre date de mariage *</label>
<input class="textfield" type="text" name="date_mariage" id="date_mariage"
<?php
if(isset($affich['date_mariage']))
echo ' value="', $affich['date_mariage'], '"';
?> title="Veuillez entrer votre e-mail" />
<?php
if(isset($Edate_mariage))
echo $Edate_mariage;
echo $Edate_mariagefaux;
?>