


Avant de discuter en profondeur de la validation de formulaire, réfléchissons d'abord à la véritable signification de la validation de formulaire. À la base, la validation de formulaire est un système qui détecte les données de contrôle invalides et signale ces erreurs pour les utilisateurs finaux. En d'autres termes, la validation du formulaire effectue une série de vérifications sur le formulaire avant qu'il ne soit soumis au serveur et informe l'utilisateur de corriger les erreurs.
Mais qu’est-ce que la validation de formulaire réellement ?
est une optimisation.
La raison pour laquelle la validation du formulaire est une optimisation est que le mécanisme de validation du formulaire à lui seul ne suffit pas à garantir que les données du formulaire soumises au serveur sont correctes et valides. D'un autre côté, la validation des formulaires est conçue pour permettre aux applications Web de générer des erreurs plus rapidement. En d’autres termes, il est préférable d’utiliser le mécanisme de gestion intégré au navigateur pour informer l’utilisateur qu’une page Web contient des valeurs de contrôle de formulaire non valides. Dans le passé, les données circulaient sur le réseau uniquement pour que le serveur avertisse l'utilisateur qu'il avait saisi des données incorrectes. Si le navigateur est entièrement capable de détecter les erreurs avant qu'elles ne quittent le client, nous devrions en profiter.
Cependant, la vérification du formulaire du navigateur ne suffit pas à gérer toutes les erreurs.
Cela dit, HTML5 introduit huit méthodes pour valider l'exactitude des données des contrôles de formulaire. Examinons-les tour à tour, mais nous présenterons d'abord l'objet ValidityState utilisé pour renvoyer l'état de validation.
Dans les navigateurs prenant en charge la validation de formulaire HTML5, l'objet ValidityState est accessible via le contrôle de formulaire :
var valCheck = document.myForm.myInput.validity;
Cette ligne de code obtient l'objet ValidityState de l'élément de formulaire nommé myInput. L'objet contient des références aux huit états de vérification, ainsi que le résultat final de la vérification.
La méthode d'appel est la suivante :
valCheck.valid
Après l'exécution, nous obtiendrons une valeur booléenne, qui indique si le contrôle de formulaire a passé toutes les contraintes de validation. L'attribut valide peut être considéré comme le résultat final de la vérification : si les huit contraintes sont passées, l'attribut valide est vrai. Sinon, tant qu'une contrainte échoue, l'indicateur valide est faux.
Comme mentionné précédemment, il existe huit contraintes de validation possibles pour tout élément de formulaire. Chaque condition a un nom d'attribut correspondant dans l'objet ValidityState, accessible de la manière appropriée. Analysons-les un par un pour voir comment ils sont associés aux contrôles du formulaire et comment les vérifier en fonction de l'objet ValidityState :
1 valueMissing
Objectif : Garantir la valeur dans le. contrôle de formulaire Rempli.
Utilisation : définissez l'attribut obligatoire sur true dans le contrôle de formulaire.
Exemple :
<input type="text" name="myText" required>
Description détaillée : Si le contrôle de formulaire définit l'attribut requis, le contrôle restera dans un état invalide jusqu'à ce que l'utilisateur remplisse la valeur ou remplisse la valeur via appel codé. Par exemple, une zone de saisie de texte vide échoue à la vérification requise à moins que du texte n'y soit saisi. Lorsque la valeur d'entrée est vide, valueMissing renvoie true.
2. typeMismatch
Objectif : S'assurer que la valeur du contrôle correspond au type attendu (tel que numéro, e-mail, URL, etc.).
Utilisation : Spécifiez la valeur de l'attribut de type. du contrôle de formulaire.
Exemple :
<input type="email" name="myEmail">
Description détaillée : Le type de contrôle de formulaire spécial n'est pas seulement utilisé pour personnaliser le clavier du téléphone mobile si le navigateur peut reconnaître que la saisie dans le contrôle de formulaire ne le fait pas. respectez les règles de type correspondantes, par exemple, il n'y a pas de symbole @ dans l'adresse e-mail ou la valeur d'entrée du contrôle de type numérique n'est pas un nombre valide, le navigateur marquera le contrôle pour indiquer une incompatibilité de type. Quelle que soit la condition d’erreur, typeMismatch renverra true.
3. patternMismatch
Objectif : Vérifier si l'entrée est dans un format valide selon les règles de format définies sur le contrôle de formulaire.
Utilisation : définissez l'attribut de motif sur le contrôle de formulaire et attribuez des règles de correspondance appropriées.
Exemple :
<input type="text" name="creditcardnumber" pattern="[0-9]{16}" title="A credit card number is 16 digits with no spaces or dashes">
Description détaillée : L'attribut pattern fournit aux développeurs un moyen puissant et flexible de définir un mécanisme de validation d'expression régulière pour les valeurs de contrôle de formulaire. Lorsque l'attribut pattern est défini pour un contrôle, patternMismatch renverra une valeur vraie tant que la valeur du contrôle d'entrée n'est pas conforme aux règles du modèle. Du point de vue des conseils d'utilisation et des références techniques, vous devez définir l'attribut title dans le contrôle de formulaire contenant l'attribut pattern pour illustrer le rôle de la règle.
4. tropLong
Objectif : éviter que les valeurs d'entrée contiennent trop de caractères.
Utilisation : définissez l'attribut maxLength sur le contrôle de formulaire.
Exemple :
<input type="text" name="limitedText" maxLength="140">
Détails : Si la longueur de la valeur d'entrée dépasse maxLength, la fonctionnalité tropLong retournera vrai. Bien que les contrôles de formulaire limitent généralement la longueur maximale des entrées utilisateur, il existe des situations dans lesquelles la longueur maximale peut être dépassée, par exemple en la définissant par programme.
5. rangeUnderflow
Objectif : Limiter la valeur minimale des contrôles numériques.
Utilisation : définissez l'attribut min pour le contrôle de formulaire et attribuez-lui la valeur minimale autorisée.
Exemple :
<input type="range" name="ageCheck" min="18">
Description détaillée : Dans un contrôle de formulaire qui nécessite une vérification de plage numérique, la valeur est susceptible d'être temporairement inférieure à la limite inférieure définie. À ce stade, la propriété rangeUnderflow de ValidityState renverra true.
6. rangeOverflow
Objectif : Limiter la valeur maximale des commandes numériques.
Utilisation : définissez l'attribut max pour le contrôle de formulaire et attribuez-lui la valeur maximale autorisée.
Exemple :
<input type="range" name="kidAgeCheck" max="12">
详细说明:与rangeUnderflow类似,如果一个表单控件的值比max更大,特性将返回true。
7、stepMismatch
目的:确保输入值符合min、max及step即设置。
用法:为表单控件设置step特性,指定数值的增量。
示例:
<input type="range" name="confidenceLevel" min="0" max="100" step="5">
详细说明:此约束条件用来保证数值符合min、max和step的要求。换句话说,当前值必须是最小值与step特性值的倍数之和。例如,范围从0到100,step特性值为5,此时就不允许出现17,否则stepMismatch返回true值。
8、customError
目的:处理应用代码明确设置及计算产生的错误。
用法:调用setCustomValidity(message)将表单控件置于customError状态。
示例:
passwordConfirmationField.setCustomValidity("Password values do not match.");
详细说明:浏览器内置的验证机制不适用时,需要显示自定义验证错误信息。当输入值不符合语义规则时,应用程序代码应设置这些自定义验证消息。
自定义验证消息的典型用例是验证控件中的值是否一致。例如,密码和密码确认两个输人框的值不匹配。只要定制了验证消息,控件就会处于无效状态,并且customError返回true。要清除错误,只需在控件上调用setCustomValidity("")即可。
以上就是详解HTML5中表单验证的8种方法介绍 的内容,更多相关内容请关注PHP中文网(www.php.cn)!

html5的div元素默认一行不可以放两个。div是一个块级元素,一个元素会独占一行,两个div默认无法在同一行显示;但可以通过给div元素添加“display:inline;”样式,将其转为行内元素,就可以实现多个div在同一行显示了。

html5中列表和表格的区别:1、表格主要是用于显示数据的,而列表主要是用于给数据进行布局;2、表格是使用table标签配合tr、td、th等标签进行定义的,列表是利用li标签配合ol、ul等标签进行定义的。

固定方法:1、使用header标签定义文档头部内容,并添加“position:fixed;top:0;”样式让其固定不动;2、使用footer标签定义尾部内容,并添加“position: fixed;bottom: 0;”样式让其固定不动。

html5中不支持的标签有:1、acronym,用于定义首字母缩写,可用abbr替代;2、basefont,可利用css样式替代;3、applet,可用object替代;4、dir,定义目录列表,可用ul替代;5、big,定义大号文本等等。

HTML5中画布标签是“<canvas>”。canvas标签用于图形的绘制,它只是一个矩形的图形容器,绘制图形必须通过脚本(通常是JavaScript)来完成;开发者可利用多种js方法来在canvas中绘制路径、盒、圆、字符以及添加图像等。

html5废弃了dir列表标签。dir标签被用来定义目录列表,一般和li标签配合使用,在dir标签对中通过li标签来设置列表项,语法“<dir><li>列表项值</li>...</dir>”。HTML5已经不支持dir,可使用ul标签取代。

3种取消方法:1、给td元素添加“border:none”无边框样式即可,语法“td{border:none}”。2、给td元素添加“border:0”样式,语法“td{border:0;}”,将td边框的宽度设置为0即可。3、给td元素添加“border:transparent”样式,语法“td{border:transparent;}”,将td边框的颜色设置为透明即可。

因为html5不基于SGML(标准通用置标语言),不需要对DTD进行引用,但是需要doctype来规范浏览器的行为,也即按照正常的方式来运行,因此html5只需要写doctype即可。“!DOCTYPE”是一种标准通用标记语言的文档类型声明,用于告诉浏览器编写页面所用的标记的版本。


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

DVWA
Damn Vulnerable Web App (DVWA) est une application Web PHP/MySQL très vulnérable. Ses principaux objectifs sont d'aider les professionnels de la sécurité à tester leurs compétences et leurs outils dans un environnement juridique, d'aider les développeurs Web à mieux comprendre le processus de sécurisation des applications Web et d'aider les enseignants/étudiants à enseigner/apprendre dans un environnement de classe. Application Web sécurité. L'objectif de DVWA est de mettre en pratique certaines des vulnérabilités Web les plus courantes via une interface simple et directe, avec différents degrés de difficulté. Veuillez noter que ce logiciel

VSCode Windows 64 bits Télécharger
Un éditeur IDE gratuit et puissant lancé par Microsoft

SublimeText3 version anglaise
Recommandé : version Win, prend en charge les invites de code !

Adaptateur de serveur SAP NetWeaver pour Eclipse
Intégrez Eclipse au serveur d'applications SAP NetWeaver.