当前位置: 首页 > article >正文

JavaScript 用HTML5约束验证API做表单验证

一、验证属性与通过与否

以下为在表单元素上的可用属性:

required<boolean> 必填字段,接受布尔值,默认false
pattern<string> 接受正则,用户输入的文本必须满足该正则

表单元素对象上有checkValidity()方法,其返回布尔值,可以由表单子元素调用以验证单个子元素值是否通过验证:

if(document.form[0].element[0].checkValidity()) {}

也支持由表单调用验证全表单:

 if(document.form[0].checkValidity()) {}

该方法只返回布尔值以反映验证通过与否.


二、获取验证失败的原因

那么如何得知不通过的原因?
validity属性反应不通过的原因,该属性也由表单元素对象暴露.

if(formEle.validity) {
  console.log(validity);
}

该属性可能的值及值的意义如下:

customError: 若设置了setCustomValidity()则返回truefalse
pattenMismatch: 字段值不符合pattern正则的要求
rangeOverflow: 字段值大于max值返回true.
rangeUnderflow: 字段值小于min值返回true
stepMismatch: 字段值与min、 max、step值不相符则返true
toolong: 字段值长度超过maxlength值返true
valid: 如其他属性值都为falsetrue
valueMissing: 有required必填项未填返true
typeMismatch: 返回true表示字段值并非email或url属性要求的格式

例:

if(formEle.validity.valueMissing) {
  console.log("required value missing.");
}

END

如有疏漏,请为我指正,谢谢.


http://www.kler.cn/news/328366.html

相关文章:

  • 企业数据安全从0到1建设方法
  • 安全中心 (SOC) 与 网络运营中心 (NOC)
  • LLM之基于llama-index部署本地embedding与GLM-4模型对rag系统进行测评
  • 深度学习应用:改变世界的前沿科技
  • .Net 6.0 Windows平台如何判断当前电脑是否联网
  • 并行编程实战——TBB框架的应用之一Supra的基础
  • Rust设计模式
  • 国内访问OpenAI API
  • 【EchoMimic整合包及教程】蚂蚁集团支付宝开源了数字人技术EchoMimic,可用于虚拟主播、视频编辑等
  • 10.2 Linux_并发_进程相关函数
  • 达梦数据库开启归档模式
  • Python操作系统的6个自动化脚本
  • 基于keras 的神经网络股价预测模型
  • 物联网将如何影响全球商业?
  • Armeria gPRC 高级特性 - 装饰器、无框架请求、阻塞处理器、Nacos集成、负载均衡、rpc异常处理、文档服务......
  • 开发微信小程序 案例01-本地生活首页页面
  • 【北京迅为】《STM32MP157开发板嵌入式开发指南》- 第十四章 Linux 目录结构讲解
  • 【DRAM存储器四十一】LPDDR5介绍--特性、引脚、基本结构简介
  • 交通场景多目标检测系统源码分享
  • 数据结构-3.10.队列的应用
  • Qt界面优化——绘图API
  • 【网络安全】身份认证
  • <STC32G12K128入门第十三步>驱动W5500进行TCP_Client通信
  • LeetCode: 1971. 寻找图中是否存在路径
  • 滚雪球学Oracle[4.1讲]:PL/SQL编程
  • 【开源免费】基于SpringBoot+Vue.JS美容院管理系统(JAVA毕业设计)
  • C0008.Clion利用C++开发Qt界面,使用OpenCV时,配置OpenCV方法
  • Sharding-JDBC笔记03-分库分表代码示例
  • redis01
  • 高级java每日一道面试题-2024年9月27日-数据库篇-性别是否适合做索引?