Gestion de controle de formulaire ou données centralisé.


Description

Iop all,
Bon cette source est une source fonctionnelle IE et FF.
Elle sert notamment à centraliser les contrôles de saisie dans des champs d'un formulaire ou de simples données via un fichier XML.
Le chargement du fichier est optionnel.
Les controles peuvent s'ajouter ou compléter ceux de l'XML aisement via la methode .add de la "classe" control.
Tests natifs possibles:
- Null
- Numéric
- Date
- Expressions Régulières
- Limite ou encadrement (pour les données numéric, date ou le nombre de selection dans une liste)
Il est possible d'étendre les tests natif avec des fonctions personnalisées grace à l'implémentation du noeud FUNCTION dans l'XML.
Il permet entre autre de compléter le controle par une fonction personnelle

Les possibilités d'exploitation du code peuvent être :
- Création dynamique du fichier XML
- Chargement dynamique des controles
- Gestion de controle par page ou global
- Stockage en Base des contrôles.

Les avantages :
- Centralisation des controles.
- Simplification des scripts dans les pages.
- Allègement des pages
- Mise à jour des controles sans rechargement.
- Lisibilité et structure des contrôles d'un site.
- Formatage personnalisé du message d'erreur ou d'information.
- Implémentation de fonction persionnelle.

Have Fun ;)

Source / Exemple :


3 fichiers :
- controles.xml
- functions.js
- controle.xml.class.html

Conclusion :


Le code n'étant pas très compliqué, j'ai limité les commentaires aux fonctions et ses paramètres.

J'ai sortie de la "classe" controle, les fonctions communes (replaceAll, checkDate, isEmpty, ...) de sortes à ce qu'elle puissent être exploitée dans d'autre cas.

Bug :
- Attention lors de l'utilisation de la fonction replaceAll si la chaine recherchée se trouve dans la chaine de remplacement, vous risquez une boucle infinie. exemple : replaceAll(str_text, "'", "\'")
Bon c'est facilement corrigeable et dans ce cas autant utiliser .replace("'", "\'") donc je passe outre.

Have Fun ;)

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.