- 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特性。
使用实例:
参考:http://www.jz123.cn/text/2644047.html$("#Title").bind("invalid", function(e){ if(this.validity.valueMissing == true){ $("#TitleError").show(); } return false; });
HTML5 中的表单验证
最新推荐文章于 2024-03-01 20:16:14 发布