Class verification des saisies

Description

Je sais qu'il y a plusieurs version de ce genre de code, toutefois je me permets de le mettre ici car j'apporte des nouveautés:
->Développé en Objet
->Simple d'utilisation pour un développeur
->Evolutive (possibilité de rajouter des types de données simplement)

Source / Exemple :


<html>
	<head>
		<title>Exemple verif saisie</title>
	</head>
	<script language="javascript" version="2.0 " src="Class_VerificationSaisies.js" type="text/javascript"></script>
	<script language="javascript">
		
		//INSTANCIATION DE L'OBJET (parametre ID du formulaire)
		var Verificateur= new VerificationSaisie('test');
		
		//DEFINITION D'UN CHAMP OBLIGATOIRE  ( 1 parametre ID du champ || 2em parametre Libelle du champ || 3em parametre 1=>Obligatoire sinon peut etre pas rempli)
		Verificateur.Definir_Champ_Saisie('nom','Nom',1);
		Verificateur.Definir_Caracteres_Autorises_Champ('nom',"azertyuiopqsdfghjklmwxcvbn0123456789");
		Verificateur.Definir_Taille_Min_Champ('nom',1);
		Verificateur.Definir_Taille_Max_Champ('nom',10);
		
		//DEFINITION D'un libéllé à convertir HTML->text
		Verificateur.Definir_Champ_Saisie('prenom','Prénom',1);
		Verificateur.Convertir_Caracteres_HTML_Texte('prenom'); //Si le code de caractère d'envoie des fichier(HTTP) n'est pas le m^ême que celui dans lequel est envoyé les pages PHP
		
		//DEFINITION D'UN CHAMP COMME UNE DATE
		Verificateur.Definir_Champ_Saisie('date_naissance','date de naissance',0);
		Verificateur.Definir_Champ_Comme_Une_Date('date_naissance');
		
		//NUMERIQUE OBLIGATOIRE
		Verificateur.Definir_Champ_Saisie('montant','montant total',0);
		Verificateur.Definir_Caracteres_Autorises_Champ('montant','0123456789. ,');
		
		//VERIFICATION DES ADRESSES EMAIL
		Verificateur.Definir_Champ_Saisie('mail','adresse electronique',1);
		Verificateur.Definir_Champ_Comme_Un_Email('mail');
		
		//DEFINITION D'UN RADIO BUTTON
		Verificateur.Definir_Champ_Saisie('sexe','Sexe',1);
		
			
		//REDEFINITION DU TRAITEMENT DES MESSAGES ERREURS (optionel)
				//retourne Booléen (VRAI =>Valide formulaire || FAUX=>empeche validation)
				function AfficheMessageErreur(Erreur,Msg){
					 alert(Msg);
					 alert('Id du champ erreur : ' + Erreur.Obtenir_Information('fieldId'));
					 return false;
				}
				Verificateur.Definir_Traiter_Erreur(AfficheMessageErreur);
		//REDEFINITION DU TRAITEMENT DUN FORMULAIRE VALIDE (optionel)
				//retourne Booléen (VRAI =>Valide formulaire || FAUX=>empeche validation)
				function TraiterBonFormulaire(){
					alert('Ton formulaire est bon');
					return true;
				}
				Verificateur.Definir_Traitement_Formulaire_Valide(TraiterBonFormulaire);
			
		//REDEFINITION DE L'AFFICHAGE DES ERREURS (optionel)
				//1er parametre=Message
					//%i->Remplace le nom du champ
					//%s->Seconde information (liste des caractères, nombre limite de caractères....tout dépend du cas)
				//2nd paramètre= convertion ou non des caractères spéciaux HTML
					//ex : é -> é					
				Verificateur.Definir_Message_Erreur_Champ_Obligatoire("Field %i can't be empty ! ",false);
				Verificateur.Definir_Message_Erreur_Champ_Date("Field %i must be french date format dd/mm/yyyy ! ",false);
				Verificateur.Definir_Message_Erreur_Champ_Compose("Field %i can only contain char in this list : %s ! ",false);
				Verificateur.Definir_Message_Erreur_Champ_Email("Field %i must contain a valid email adress ! ",false);
				Verificateur.Definir_Message_Erreur_Champ_Max_pluriel("Field %i must contain less than %s caracters ! ",false);
				Verificateur.Definir_Message_Erreur_Champ_Max_singulier("Field %i must contain less than %s caracter ! ",false);
				Verificateur.Definir_Message_Erreur_Champ_Min_pluriel("Field %i must contain more than %s caracters ! ",false);
				Verificateur.Definir_Message_Erreur_Champ_Min_singulier("Field %i must contain more than %s caracter ! ",false);
				Verificateur.Definir_Message_Erreur_Inconnu("Unknwon error has occured on field %i please contact your webmaster ! ",false);
	</script>
	<body>
	<form id="test">
		Nom* : <input type="text" size="20" name="nom" ><br>
		Prènom* : <input type="text" size="20" name="prenom" ><br>
		Email* : <input type="text" size="20" name="mail" id="mail"><br>
		Sexe* : <input type="radio" size="20" name="sexe" id="sexe" value="H"> Homme &nbsp;&nbsp;<input type="radio" size="20" name="sexe" id="sexe" value="F"> Femme<br>
		Date de Naissance : <input type="text" size="20" name="date_naissance" id="date_naissance"><br>
		Montant Total : <input type="text" size="20" name="montant" id="montant"><br>
		<input type="Submit" value="Envoyer">
	</form>
	</body>
</html>

Conclusion :


Faites moi part de vos remarques, bugs ou propositions d'amélioration

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.