TP3 JavaScript
TP3 JavaScript
Validation
Très régulièrement, vous rencontrez un website où des utilisateurs saisissent des informations dans
un formulaire (form) avant de les envoyer au serveur, par exemple, le formulaire d'enregistrement
de compte. Les informations que l'utilisateur saisit dans le formulaire doivent être validées (validate)
pour assurer la rationalité des données.
..
Dans cette leçon, je discuterai de l'utilisation de Javascript pour valider (validate) form.
L'illustration ci-dessous illustre le comportement du programme lorsque l'utilisateur clique sur le
bouton Submit.
1. Vous devez enregistrer une fonction en combinaison avec l'événement onsubmit de form.
Le devoir de cette fonction est de vérifier les données qu'un utilisateur a saisi dans
le form et de renvoyer true si toutes les informations entrées par l'utilisateur est valide et
vice versa renvoyer false.
2. Lorsque l'utilisateur clique sur Submit, la fonction en combinaison avec
l'événement onsubmit sera appelée.
3. Si la fonction en combinaison avec l'événement onsubmit renvoie true, des données
de form seront envoyées au server. Si non, l'action Submit sera annulée.
1. Exemple simple
Ceci est un exemple simple qui vous permet de comprendre les règles de fonctionnement
de Form avant de pratiquer des exemples plus complexes.
Polytechnique Sousse (2020-2021) Doctorante : Yamina Ghobni
L'attribut (attribute) action de <form> est de spécifier la page à laquelle les données seront données
ou, en d'autres termes, la page qui traitera les données envoyées depuis le <form> de la page en
cours.
Les pages traitant les données envoyées à partir du form sont généralement écrites par Servlet/
JSP, la technologie PHP ou une technologie du côté Server au lieu d’une page HTML. Pourtant
je ne mentionne pas le traitement des données dans cette leçon.
simple-validation-example.html
<!DOCTYPE html>
<html>
<head>
<title>Hello Javascript</title>
<script type = "text/javascript">
function validateForm() {
var u = document.getElementById("username").value;
var p = document.getElementById("password").value;
if(u== "") {
alert("S'il vous plaît entrez votre nom d'utilisateur");
return false;
}
if(p == "") {
alert("Veuillez entrer votre mot de passe");
return false;
}
alert("Toutes les données sont valides !, envoyez-le au serveur!")
return true;
Polytechnique Sousse (2020-2021) Doctorante : Yamina Ghobni
}
</script>
</head>
<body>
</body>
</html>
process-action.html
<!DOCTYPE html>
<html>
<head>
<title>Process Action</title>
</head>
<body>
<br/><br/>
</body>
</html>
Polytechnique Sousse (2020-2021) Doctorante : Yamina Ghobni
var u = myForm["username"].value;
var p = myForm["password"].value;
Lorsqu'un utilisateur saisit des données inexactes dans un champ de form, vous devez en informer
l'utilisateur et focus sur ce champ.
validation-example1.html
<!DOCTYPE html>
<html>
Polytechnique Sousse (2020-2021) Doctorante : Yamina Ghobni
<head>
<title>Validation</title>
<script type = "text/javascript">
function validateForm() {
// Get form via form name:
var myForm = document.forms["myForm"];
var u = myForm["username"].value;
var p = myForm["password"].value;
if(u== "") {
alert("Please enter your Username");
myForm["username"].focus(); // Focus
return false;
}
if(p == "") {
alert("Please enter you Password");
myForm["password"].focus(); // Focus
return false;
}
return true;
}
</script>
</head>
<body>
</div>
</body>
</html>
Polytechnique Sousse (2020-2021) Doctorante : Yamina Ghobni
function validateForm() {
return true;
}
</script>
</head>
<body>
</div>
</body>
</html>
Polytechnique Sousse (2020-2021) Doctorante : Yamina Ghobni
javascript-submit-example.html
<!DOCTYPE html>
<html>
<head>
<title>Javascript Submit</title>
<script type = "text/javascript">
function validateForm() {
var name = document.forms["myForm"]["fullName"]
.value;
if(name == "") {
alert("Please enter your name");
return false;
}
return true;
}
function submitByJavascript() {
myForm.submit();
}
</script>
</head>
<body>
</div>
<br/>
</body>
</html>
4. Validater automatiquement
Le navigateur peut valider (validate) automatiquement plusieurs types de données sur le form, par
exemple en ajoutant un attribut required à un champ du form pour indiquer au navigateur que ce
champ est obligatoire. Le navigateur vérifiera et avertira automatiquement un utilisateur si un
utilisateur n'entre pas dans ce champ.
Remarque : Des navigateurs trop anciens comme IE version 9 ou plus ancien ne supportent pas
la validate automatique.
Polytechnique Sousse (2020-2021) Doctorante : Yamina Ghobni
required-example.html
<!DOCTYPE html>
<html>
<head>
<title>Required</title>
</head>
<body>
<h2>Required attribute</h2>
</div>
</body>
</html>
Quelques éléments <input> sont récemment introduits dans HTML 5, par exemple color, date,
datetime-local, email, month, number, range, search, tel, time, url, week,. Ces éléments ont des
Polytechnique Sousse (2020-2021) Doctorante : Yamina Ghobni
TODO Link!
</head>
<body>
</div>
</body>
</html>
Polytechnique Sousse (2020-2021) Doctorante : Yamina Ghobni
</head>
<body>
<h2>Attribute: pattern</h2>
</div>
</body>
Polytechnique Sousse (2020-2021) Doctorante : Yamina Ghobni
</html>
Exemple : Demander au utilisateur de saisir le mot de passe qui contient au moinss 8 caractères.
attr-pattern-example2.html
<!DOCTYPE html>
<html>
<head>
<title>pattern attribute</title>
</head>
<body>
<h2>Attribute: pattern</h2>
</div>
</body>
Polytechnique Sousse (2020-2021) Doctorante : Yamina Ghobni
</head>
<body>
<h2>Attribute: pattern</h2>
Le mot de passe doit contenir au moins 8 caractères d'au moins un chiffre et
une lettre majuscule et minuscule:
<br/><br/>
</div>
</body>
Polytechnique Sousse (2020-2021) Doctorante : Yamina Ghobni
</html>
Exemple : Demander à un utilisateur de saisir une adresse email, utiliser l'attribut pattern pour
vous assurer que l'utilisateur saisit un email dans le bon format.
attr-pattern-email-example.html
<!DOCTYPE html>
<html>
<head>
<title>pattern attribute</title>
</head>
<body>
<h2>Attribute: pattern</h2>
</div>
</body>
</html>