HTML5 中的表单验证

  • HTML5的input标签增加了一个placeholder特性,placeholder的值只能包含文本,不可以包含HTML标签。

  • input标签的list特性和datalist标签结合起来可以为input标签提供一个备选列表。

  • 新增加的valueAsNumber函数可以将控件的值从文本转换为数字,而且还可以将控件的值设置为数据。
  • 如果input控件设置了required特性,那么该控件必须包含值,否则包含它的Form就无法被提交。
  • 所有Form控件都包含validity属性(ValidityState对象),该属性包括8种可能的验证错误:
    • valueMissing:缺少必需值(包含required特性的input标签缺少值)
    • typeMismatch:值的类型不匹配(email、url等类型校验失败)
    • patternMismatch:值的格式不匹配(input标签设置了pattern特性,但值没有匹配该pattern。开发人员可以使用pattern来更加灵活地验证Form控件的值)
    • tooLong:值超出了控件允许的长度(超出了maxLength特性的值)
    • rangeUnderflow:值小于设定的最小值(值小于min特性的值)
    • rangeOverflow:值大于设定的最大值(值大于max特性的值)
    • stepMismatch:值不符合控件的min、max和step特性综合计算的结果(比如min="0" max="100" step="5",那么值为6时就会导致stepMismatch)
    • customError:表示又代码产生的自定义错误,调用控件的setCustomValidity(message)方法可以设置customError,向该方法传递空字符串会清空customError。
  • 如果Form控件有可能进行上述任何一项验证,那么它的willValidate属性会返回true。
  • 调用控件的checkValidity方法也可以进行对控件的值进行验证。无论是提交Form还是调用checkValidity方法,如果Form验证失败,都会触发invalid事件。
  • 可以通过控件的validationMessage属性来访问控件的验证失败消息。想要阻止浏览器显示错误消息,可以在invalid事件中调用参数evt的preventDefault方法。
  • 设置Form的noValidate特性可以使其不去验证输入的有效性,关闭验证的更简单的方法是设置提交按钮formNoValidate特性。



    使用实例:
    $("#Title").bind("invalid", function(e){
    		
    		if(this.validity.valueMissing == true){
    				$("#TitleError").show();
    		}
    		
        	return false;
    	});
    参考:http://www.jz123.cn/text/2644047.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值