Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
web:html:formulaires:validation [2023/04/08 19:25] – [Validation Javascript] jcheron | web:html:formulaires:validation [2023/04/21 23:44] (Version actuelle) – jcheron | ||
---|---|---|---|
Ligne 181: | Ligne 181: | ||
==== Propriétés des éléments ==== | ==== Propriétés des éléments ==== | ||
- | ^Propriété ^Rôle ^ | + | ^Propriété ^Rôle |
- | ^validationMessage | Retourne le message de validation retourné par l' | + | ^validationMessage | Retourne le message de validation retourné par l' |
- | ^validity.customError | renvoie **true** si l' | + | ^validity.customError | renvoie **true** si l' |
- | ^validity.patternMismatch | renvoie **true** si la valeur de l' | + | ^validity.patternMismatch | renvoie **true** si la valeur de l' |
- | ^validity.rangeOverflow | renvoie **true** si la valeur de l' | + | ^validity.rangeOverflow | renvoie **true** si la valeur de l' |
- | ^validity.rangeUnderflow | renvoie **true** si la valeur de l' | + | ^validity.rangeUnderflow | renvoie **true** si la valeur de l' |
- | ^validity.tooLong | renvoie **true** si la taille de l' | + | ^validity.tooLong | renvoie **true** si la taille de l' |
- | ^validity.typeMismatch | renvoie **true** si la valeur saisie a une incohérence de type avec celui attendu | | + | ^validity.typeMismatch | renvoie **true** si la valeur saisie a une incohérence de type avec celui attendu |
- | ^validity.valid | renvoie **true** si l' | + | ^validity.valid | renvoie **true** si l' |
- | ^validity.valueMissing | renvoie **true** si un élément requis n'a pas de valeur | | + | ^validity.valueMissing | renvoie **true** si un élément requis n'a pas de valeur |
- | ^willValidate | Renvoie **true** si l' | + | ^willValidate | Renvoie **true** si l' |
==== Méthodes ==== | ==== Méthodes ==== | ||
+ | ^Méthode ^Rôle ^ | ||
+ | ^checkValidity() | Renvoie **true** si la valeur de l' | ||
+ | ^setCustomValidity(message) | Défini un message de validation personnalisé | | ||
+ | ==== Exemple ==== | ||
+ | === Formulaire HTML === | ||
- | ==== Exemple ==== | ||
<wrap info> | <wrap info> | ||
<sxh html> | <sxh html> | ||
<form novalidate> | <form novalidate> | ||
- | <label for=" | + | <label for=" |
- | <input type=" | + | <input type=" |
< | < | ||
- | <div class=" | + | <div class=" |
</ | </ | ||
</ | </ | ||
+ | === Feuille de style CSS === | ||
<sxh css> | <sxh css> | ||
+ | .message { | ||
+ | color: white; | ||
+ | border-radius: | ||
+ | padding: 8px; | ||
+ | display: none; | ||
+ | margin-top: 10px; | ||
+ | } | ||
+ | .message.error { | ||
+ | background-color: | ||
+ | display: block; | ||
+ | } | ||
+ | .message.valid { | ||
+ | background-color: | ||
+ | display: block; | ||
+ | } | ||
</ | </ | ||
+ | |||
+ | === Validation Javascript === | ||
<sxh javascript> | <sxh javascript> | ||
+ | let form=document.querySelector(" | ||
+ | let mail=document.getElementById(" | ||
+ | let message=document.querySelector(' | ||
+ | |||
+ | form.addEventListener(" | ||
+ | event.preventDefault(); | ||
+ | let m=mail.value; | ||
+ | if (!mail.validity.valid) { | ||
+ | message.innerHTML = mymail.validationMessage; | ||
+ | message.className = " | ||
+ | } else { | ||
+ | message.innerHTML=`' | ||
+ | message.className = " | ||
+ | } | ||
+ | }); | ||
+ | mail.addEventListener(" | ||
+ | if (mail.validity.valid) { | ||
+ | message.innerHTML = ""; | ||
+ | message.className = " | ||
+ | } | ||
+ | }); | ||
</ | </ | ||
< | < | ||
Ligne 233: | Ligne 276: | ||
<form id=" | <form id=" | ||
<label for=" | <label for=" | ||
- | <input type=" | + | <input type=" |
< | < | ||
<div class=" | <div class=" | ||
Ligne 264: | Ligne 307: | ||
</ | </ | ||
+ | ==== Articles ==== | ||
+ | |||
+ | * [[https:// |