HTML5,input表单验证的方式方法,如何自定义错误信息?
发布于 作者:苏南大叔 来源:程序如此灵动~

html5
下的各种input
表单控件,自身就带着合法性验证的手段,并且有着统一的验证结果界面和报错信息。但是,验证结果界面挺难看的,还不能更改样式。所以,苏南大叔并不是推荐这种验证方法,没啥意义。表单自定义验证的方式方法很多,效果都比自带的这个好。

苏南大叔的“程序如此灵动”博客,记录苏南大叔的代码编程经验总结。本文测试环境:chrome@131.0.6778.205
。前端合法性验证就是个效果而已,千万别当真,不要相信任何前端数据,后台该做的验证步骤一步都不能少。前端数据验证做的效果再好,它提交到后台的数据也都是不可信的。
验证相关属性
这个input
的合法性验证,核心设置有两个:
required
,必填项。pattern
,正则表达式。
例如:

.validity 属性
查看input
的.validity
属性,会发现很多结果可能性。返回的对象(validityState
)包含以下属性:

名称 | 说明 |
---|---|
badInput | 输入值是否符合预期的数据类型 |
customError | 是否存在自定义错误,存在自定义错误返回true |
patternMismatch | 输入值与pattern中的正则表达式是否匹配,不匹配返回false |
rangeOverflow | 输入值有max属性的约束,且输入的value大于max时,就返回true |
rangeUnderflow | 输入值有min属性的约束,且输入的value大于min时,就返回true |
stepMismatch | 输入的值符不符合step特性相关(max /min /step )所推算出的规则。 |
tooLong | 输入值是否超过了元素maxlength属性所建立的最大单元长度,不超过返回false |
tooShort | 输入值是否小于元素minlength属性所建立的最小单元长度,不小于返回false |
typeMismatch | 输入的值是否符合元素type属性设置的约束,例如 email或url类型 |
valid | 当字段通过验证的时候,返回true |
valueMissing | 当必填的字段是空的时候,返回true |
自定义错误
结语
并不推荐使用本文中所涉及的表单输入合法性验证的代码,仅作了解,遇到再补充。


