par
sadeq » 07 mai 2007, 16:48
Exemple de simplification: fonctions par type de vérif et non par champ:
Code : Tout sélectionner
<html>
<head>
<script language="javascript">
function isNotEmpty(data){
if (!data.value.match(/.+/)) return data.name + " est obligatoire";
return false;
}
function isEmail(data){
if (!data.value.match(/[^@]+@[^@]+\.[^@]+/)) return data.name + " n'est pas un Email correct";
return false;
}
function isString(data){
if (data.value.match(/\d+/)) return data.name + " n'est pas alphabétique";
return false;
}
function isNumeric(data){
if (!isString(data)) return data.name + " n'est pas numérique";
return false;
}
function isDate(data){
if (!data.value.match(/\d{2}[\/|\-]\d{2}[\/|\-]\d{2}/)) return data.name + " n'est pas une forme de date valide";
return false;
}
function showError(data, ErrorMsg) {
if (ErrorMsg){
document.getElementById('label_'+data.name).innerHTML = ErrorMsg; //message d'erreur
data.focus(); //pointer l'objet à erreur
return true;
}
else {
document.getElementById('label_'+data.name).innerHTML = ''; //vider l'ex message d'erreur
return false;
}
}
function validateFormMembre(form)
{
if (
!showError(form.login, isNotEmpty(form.login))
&&
!showError(form.nom, isNotEmpty(form.nom))
&&
!showError(form.nom, isString(form.nom))
&&
!showError(form.prenom, isNotEmpty(form.prenom))
&&
!showError(form.prenom, isString(form.prenom))
&&
!showError(form.datenaiss, isNotEmpty(form.datenaiss))
&&
!showError(form.datenaiss, isDate(form.datenaiss))
&&
!showError(form.mdp, isNotEmpty(form.mdp))
&&
!showError(form.selecttcmpt, isNotEmpty(form.selecttcmpt))
&&
!showError(form.email, isNotEmpty(form.email))
&&
!showError(form.email, isEmail(form.email))
)
{
return true;
}
return false;
}
</script>
</head>
<body>
Voici mon formulaire avec le onsubmit :
<FORM name="formember" action="" method="get" onSubmit="return validateFormMembre(this);" >
<p>Login*<input name="login" ><label id="label_login"></label>
<p>Nom*<input name="nom" > <label id="label_nom"></label>
<p>Prénom*<input name="prenom" > <label id="label_prenom"></label>
<p>Date de naissance*<input name="datenaiss" > <label id="label_datenaiss"></label>
<p>Mot de passe*<input name="mdp" type="password"> <label id="label_mdp"></label>
<p>Type de compte*<input name="selecttcmpt"> <label id="label_selecttcmpt"></label>
<p>Email*<input name="email" ID="Text1"> <label id="label_email"></label>
<p><input type="submit" value="Ok" > <input type="reset" value="Effacer">
</FORM>
</html>
Exemple de simplification: fonctions par type de vérif et non par champ:
[code]<html>
<head>
<script language="javascript">
function isNotEmpty(data){
if (!data.value.match(/.+/)) return data.name + " est obligatoire";
return false;
}
function isEmail(data){
if (!data.value.match(/[^@]+@[^@]+\.[^@]+/)) return data.name + " n'est pas un Email correct";
return false;
}
function isString(data){
if (data.value.match(/\d+/)) return data.name + " n'est pas alphabétique";
return false;
}
function isNumeric(data){
if (!isString(data)) return data.name + " n'est pas numérique";
return false;
}
function isDate(data){
if (!data.value.match(/\d{2}[\/|\-]\d{2}[\/|\-]\d{2}/)) return data.name + " n'est pas une forme de date valide";
return false;
}
function showError(data, ErrorMsg) {
if (ErrorMsg){
document.getElementById('label_'+data.name).innerHTML = ErrorMsg; //message d'erreur
data.focus(); //pointer l'objet à erreur
return true;
}
else {
document.getElementById('label_'+data.name).innerHTML = ''; //vider l'ex message d'erreur
return false;
}
}
function validateFormMembre(form)
{
if (
!showError(form.login, isNotEmpty(form.login))
&&
!showError(form.nom, isNotEmpty(form.nom))
&&
!showError(form.nom, isString(form.nom))
&&
!showError(form.prenom, isNotEmpty(form.prenom))
&&
!showError(form.prenom, isString(form.prenom))
&&
!showError(form.datenaiss, isNotEmpty(form.datenaiss))
&&
!showError(form.datenaiss, isDate(form.datenaiss))
&&
!showError(form.mdp, isNotEmpty(form.mdp))
&&
!showError(form.selecttcmpt, isNotEmpty(form.selecttcmpt))
&&
!showError(form.email, isNotEmpty(form.email))
&&
!showError(form.email, isEmail(form.email))
)
{
return true;
}
return false;
}
</script>
</head>
<body>
Voici mon formulaire avec le onsubmit :
<FORM name="formember" action="" method="get" onSubmit="return validateFormMembre(this);" >
<p>Login*<input name="login" ><label id="label_login"></label>
<p>Nom*<input name="nom" > <label id="label_nom"></label>
<p>Prénom*<input name="prenom" > <label id="label_prenom"></label>
<p>Date de naissance*<input name="datenaiss" > <label id="label_datenaiss"></label>
<p>Mot de passe*<input name="mdp" type="password"> <label id="label_mdp"></label>
<p>Type de compte*<input name="selecttcmpt"> <label id="label_selecttcmpt"></label>
<p>Email*<input name="email" ID="Text1"> <label id="label_email"></label>
<p><input type="submit" value="Ok" > <input type="reset" value="Effacer">
</FORM>
</html>[/code]