我正在尝试使用Constraint Validation API验证表单以自定义错误消息。
根据mozilla(https://developer.mozilla.org/en-US/docs/HTML/Forms/Data_form_validation) 一切都应该有效,但是当我尝试验证简单的邮件输入时,我有一个奇怪的错误,未检测到无效邮件。
这是我的代码示例:
<input type="mail" id="mail" name="mail"/>
然后对象存储在JS中,我在控制台中检查:
console.log(field.get(0).validity);
控制台的答案是:
customError : false
patternMismatch : false
rangeOverflow : false
rangeUnderflow : false
stepMismatch : false
tooLong : false
typeMismatch : false
valid : false
valueMissing : true
所以我假设函数调用正在运行。
如果我将输入留空,同样的答案。如果我把“a”或随机字符串,相同的答案。 如果我把有效的邮件,同样的答案......
如果我输入了必需属性,则检测到空白......
你知道发生了什么吗?
API是否太年轻而无法使用,或者我错过了什么?
我可以使用什么作为替代方案?
感谢阅读,对不起我的英语。
答案 0 :(得分:1)
您应该使用email
类型。
查看您发布的链接。
示例:
<form>
<label for="mail">I would like you to provide me an e-mail</label>
<input type="email" id="mail" name="mail">
<button>Submit</button>
</form>
类型mail
将无法识别。就这么简单。