validation optimisée formulaire ?
Bonjour à tous,
Ce post est là pour reccueillir vos avis/commentaires/critiques à propos de la validation d'un formulaire en VBS.
Contexte : validation de nombreux champs, dans de nombreux formulaire ; comment faire quelque chose de propre, maintenable et evolutif ?
Voici ce que je propose :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
Function valide_formulaire(nom_formulaire)
Dim retour
retour = true
For i = 0 to Document.nom_formulaire.Elements.Count - 1
select case Document.nom_formulaire.Elements(i).Name
case "nom_famille"
If StringValide(Document.nom_formulaire.Elements(i).value) = false then
retour = false
msgbox "Le nom de famille ne peut comporter que des lettres", vbExclamation + vbokonly, "Saisie invalide"
end if
case "prenom_personne"
If StringValide(Document.nom_formulaire.Elements(i).value) = false then
retour = false
msgbox "Le prénom ne peut comporter que des lettres", vbExclamation + vbokonly, "Saisie invalide"
end if
case "e_mail_personne"
If EmailValide(Document.nom_formulaire.Elements(i).value) = false then
retour = false
msgbox "L'adresse e-mail est incorrecte !", vbExclamation + vbokonly, "Saisie invalide"
end if
case "identifiant_RH_personne"
If IdentifiantRHValide(Document.nom_formulaire.Elements(i).value) = false then
retour = false
msgbox "L'identifiant RH doit être composé de 10 lettres puis de 5 chiffres exactement", vbExclamation + vbokonly, "Saisie invalide"
end if
end select
Next
valide_formulaire = retour
end function |
Tout cela accompagné de 3 fonctions permettant de valider un mail, un identifiant et que le champ contien uniquement du texte.
Cette fonction peut être appelée pour n'importe quel formulaire, il suffit de rajouter les cas différents pour les noms de champs.
Peut-on améliorer cela ?
Peut-on généraliser cela ?
Peut-on optimiser cela ?
Je suis tout ouie à vos critiques !!!!