CheckForm
Le site dédié a été créé vous pouvez le retrouver à cette adresse :
http://checkform.imagika.fr/
Version actuelle : v0.3
Auteur : Mickaël B. Alexandre
Definition en quelques points :
- Checkform est un classe générique
- Classe paramétrable (des option sont disponible dans la classe pour vous faciliter son utilisation
- Non obstrusive !!!! (aucune modification de vos formulaire n’est nécessaire)
- Controle de formulaire paramétrable (7 paramètres par champs/règle)
- Open Source (sous licence X11/MIT)
- Fonctionnelle sans aucune bibliothèque
Testée et donc compatible sous IE 7, Firefox, Safari et Google Chrome (si vous avez d’autres navigateur pour tester n’hésitez pas à me le faire savoir) elle vous permet sans aucune manipulation sur vos formulaires de les controler, avant l’envoi.
Pourquoi une autre classe ?
(alors qu’il existe fvalidator et compagnie..)
Et bien CheckForm est une classe SIMPLE et Légère ! Les autres classes implique l’utilisation de la bibliothèque (mootools/prototype/…), et qui dit bibliothèque dis intégration de celle-ci dans votre système, surcharge si vous en utilisez une autre, chargement supplémentaires pour l’utilisateur…
Egalement parce que j’en avais marre de me prendre la tête avec des inclusions de librairies !
Parce qu’une classe doit être le plus générique possible et ainsi permettre d’executer des actions (dans notre cas des contrôles de formulaire html), sans avoir à modifier l’environnement existant. C’est pour cela que CheckForm est appelé uniquement par du code Javascript et aucune modification de vos Formulaires n’est nécessaire, vous pouvez utiliser cette classe de validation sur des projets déjà éxistants sans aucune contraintes !
Fonctionalités
- Blocage de la validation du formulaire tant que tous les champs ne sont pas valides
- Controle des champs selon:
- Des regex (expressions régulières)
- Taille des chaines
- Champ obligatoire
- Correspondance de un ou plusieurs champs
Utilisation de CheckForm
La simple création d’un bout de script Javascript sans toucher à votre formulaire suffit !
- Inclusion du fichier externe Js :
<script type=”text/javascript” src=”CheckForm.js”></script>
- Inclusion du script Js dans le fichier Html:
<script type=”text/javascript”>//(1)
<!–var check1;//(2)
window.onload = function(){ //(3)
check1 = new CheckForm(”form_id”); //(4)
check1.addReg(”nom”,”text”,”requiredLenFix”,”keyup”,”Veuillez taper un nom de 3 à 9 caractères maximum “,[3,9]); //(5)
check1.addReg(”mail”,”text”,”email”,”blur”,”Adresse mail non valide”);
//…on ajoute autant de règles que l’on veut
}
//–></script>
Le code en rouge est obligatoire, On ouvre une balise script, on créé la variable check1.
Une fois que la page est chargée (3), on instancie la variable check1 qui devient un objet de la classe CheckForm, on passe à CheckForm form_id qui est l’id du formulaire.
(5) : On ajoute une règle sur un champs la syntaxe est la suivante :
check1.addReg(”(A)”,”(B)”,”(C)”,”(D)”,”(E)”,”(F)”,”(G)”);
(A) : name ou id de l’élément
(B) : type de l’élément (text, checkbox,…)
(C) : règle à utiliser un grand nombre de règles sont (ou seront) définie dans la class checkform
(D) : évènement (sans le on) qui permettra le déclenchement du controle sur le champs
(E) : message qui sera affiché en cas d’erreur
(F) : bornes de valeurs min et max exemple [3,9] alors la chaine devra avoir une taille entre 3 et 9
(F) : règle personnalisé (regex qui sera utilisé, si celles qui existent ne vous conviennent pas)
(G) : lien, on peut lié un champs avec 0 ou n champs, on utilisera pour cela leurs nom ou id (ex : ['champs2'] ou ['chmp2', 'chmp3']
Les prochaines améliorations de la classe CheckForm
- Gestion des checkbox et boutons radio
- Forcer les champs à un interval ou un type de valeur
Licence OpenSource (MIT)
Pourquoi cette licence, parce que c’est la plus simple, elle est compatible avec la GNU et “La seule obligation est de mettre le nom des auteurs avec la notice de copyright.” (source wikipédia de la licence X11)
# Copyright (c) 2008 Mickaël Bertrand Alexandre http://mickaelbertrand.imagika.fr
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the “Software”), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
Promouvoir CheckForm
Cette classe vous plait ? Elle vous parait utile et vous désirez la partager ?
Vous pouvez utiliser l’url de cette page comme cible !
Suivre l’évolution de la classe
Pour cela vous pouvez souscrire au flux Rss du blog
Téléchargement
Vous pouvez voir la démo de la classe CheckForm dans la rubrique stuff du blog.
Version actuelle (v0.3)
Si vous avez des remarques n’hésitez pas à me contacter via le formulaire de contact du blog
à bientot !

