>>分享Web前端开发技术,并对孙卫琴的《精通Vue.js:Web前端开发技术详解》提供技术支持 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 21268 个阅读者 刷新本主题
 * 贴子主题:  JavaScript 验证 API 回复文章 点赞(0)  收藏  
作者:flybird    发表时间:2019-08-16 20:56:48     消息  查看  搜索  好友  邮件  复制  引用

  

JavaScript 验证 API

约束验证 DOM 方法


Property Description
checkValidity() 如果 input 元素中的数据是合法的返回 true,否则返回 false。
setCustomValidity()          设置 input 元素的 validationMessage 属性,用于自定义错误提示信息的方法。

         使用 setCustomValidity 设置了自定义提示后,validity.customError 就会变成true,则 checkValidity 总是会返回false。如果要重新判断需要取消自定义提示,方式如下:

setCustomValidity('')

setCustomValidity(null)

setCustomValidity(undefined)        


             以下范例如果输入信息不合法,则返回错误信息:                                                            

checkValidity() 方法

< input   id = " id1 "   type = " number "   min = " 100 "   max = " 300 "   required >
< button   onclick = " myFunction() " > 验证 </ button >

< p   id = " demo " > </ p >

< script >  function   myFunction ( )   {
     var   inpObj  =  document . getElementById ( " id1 " ) ;
     if   ( inpObj . checkValidity ( )  ==  false )   {
         document . getElementById ( " demo " ) . innerHTML  =  inpObj . validationMessage ;
     }
}  </ script >

约束验证 DOM 属性


属性 描述
validity 布尔属性值,返回 input 输入值是否合法
validationMessage 浏览器错误提示信息
willValidate 指定 input 是否需要验证
        

Validity 属性

     input 元素的 validity 属性包含一系列关于 validity 数据属性:

    
属性 描述
customError 设置为 true, 如果设置了自定义的 validity 信息。
patternMismatch 设置为 true,  如果元素的值不匹配它的模式属性。
rangeOverflow 设置为 true,  如果元素的值大于设置的最大值。
rangeUnderflow 设置为 true,  如果元素的值小于它的最小值。
stepMismatch 设置为 true, 如果元素的值不是按照规定的 step 属性设置。
tooLong 设置为 true, 如果元素的值超过了 maxLength 属性设置的长度。
typeMismatch 设置为 true, 如果元素的值不是预期相匹配的类型。
valueMissing 设置为 true,如果元素 (required 属性) 没有值。
valid 设置为 true,如果元素的值是合法的。
        

范例

             如果输入的值大于 100,显示一个信息:                            

rangeOverflow 属性

< input   id = " id1 "   type = " number "   max = " 100 " >
< button   onclick = " myFunction() " > 验证 </ button >

< p   id = " demo " > </ p >

< script >  function   myFunction ( )   {
     var   txt  =  " " ;
     if   ( document . getElementById ( " id1 " ) . validity . rangeOverflow )   {
        txt  =  " 输入的值太大了 " ;
     }
     document . getElementById ( " demo " ) . innerHTML  =  txt ;
}  </ script >

                     如果输入的值小于 100,显示一个信息:                            

rangeUnderflow 属性

< input   id = " id1 "   type = " number "   min = " 100 "   required >
< button   onclick = " myFunction() " > OK </ button >

< p   id = " demo " > </ p >

< script >  function   myFunction ( )   {
     var   txt  =  " " ;
     var   inpObj  =  document . getElementById ( " id1 " ) ;
     if ( ! isNumeric ( inpObj . value ) )   {
         txt  =  " 你输入的不是数字 " ;
     }   else   if   ( inpObj . validity . rangeUnderflow )   {
         txt  =  " 输入的值太小了 " ;
     }   else   {
         txt  =  " 输入正确 " ;
     }
     document . getElementById ( " demo " ) . innerHTML  =  txt ;
}

//  判断输入是否为数字  
function   isNumeric ( n )   {
     return  ! isNaN ( parseFloat ( n ) )  &&  isFinite ( n ) ;
}  </ script >

程序猿的技术大观园:www.javathinker.net



[这个贴子最后由 flybird 在 2020-02-15 12:08:46 重新编辑]
  Java面向对象编程-->按面向对象开发的基础范例
  JavaWeb开发-->使用Session(Ⅰ)
  JSP与Hibernate开发-->域对象在持久化层的四种状态
  Java网络编程-->ServerSocket用法详解
  精通Spring-->通过Vuex进行状态管理
  Vue3开发-->Vue Router路由管理器
  大部分人都会做错的经典JS闭包面试题
  最新的Vue面试题大全含源码级回答,吊打面试官系列
  前端面试官指导前端面试攻略
  Vue3.0 ref、reactive、toRef、toRefs、customRef的区别
  深入理解Vue的响应式系统
  Vue watcher的高级用法
  vue中监听object数据变化的基本原理
  史上最全的web前端面试题汇总及答案
  CSS 盒子模型
  HTML支持的多媒体(Media)
  HTML5 地理定位
  JavaScript 库
  JavaScript 的HTML DOM 事件
  JavaScript 对象 的创建和使用
  应该掌握的几个HTML标记语言(个人总结)
  更多...
 IPIP: 已设置保密
树形列表:   
1页 1条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。