HTML5 / JS约束验证Bug

时间:2013-05-07 15:27:43

标签: javascript html5 validation

我正在尝试使用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是否太年轻而无法使用,或者我错过了什么?

我可以使用什么作为替代方案?

感谢阅读,对不起我的英语。

1 个答案:

答案 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将无法识别。就这么简单。