HTML5:带模式验证的自定义验证消息

时间:2014-12-02 10:29:33

标签: html5 html5-validation

我希望我的html表单在电子邮件地址格式不正确时显示自定义错误消息

<form>
    <input type="text" pattern="^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$" name="email" oninvalid="this.setCustomValidity('custom message')" oninput="setCustomValidity('')" />
    <input type="submit" value="Send"/>
</form>

JSFiddle example

当我输入错误格式的电子邮件并单击&#34;发送&#34;时,会显示预期的消息:

The expected message

但是,当我再次开始输入时,会显示以下默认浏览器消息(我的浏览器设置为荷兰语):

Default message

无论如何都要阻止默认消息显示?我可以在输入时禁用验证吗?

1 个答案:

答案 0 :(得分:1)

你可以这样做..假设你的文本框id是“text1”..

$("#text1").change(function(e) {
         e.preventDefault();
    });

 $("#text1").keydown(function(e) {
         e.preventDefault();
    });

以上任何一种都可以使用,但在你的情况下,我更喜欢keydown事件......