可以在非必填字段上使用HTML5验证吗?

时间:2014-09-17 09:39:48

标签: jquery html5 validation

我在非必填字段验证时遇到问题。当有人在此字段上激活验证时,即使字段为空,也无法将其发送到服务器。我的HTML代码看起来像这样:

<form>
    <input pattern=".{6,}" name="field" size="25" type="text" />
    <input type="submit" />
</form>

我还使用jQuery来自定义验证消息:

$(function(){
    $("input[name=field]")[0].oninvalid = function () {
        this.setCustomValidity("Please enter at least 5 characters.");
        this.setCustomValidity("");
    };
});

1 个答案:

答案 0 :(得分:0)

如果我理解正确,当您再次更改字段时,则将setCustomValidity设置为空,而不是在oninvalid事件处理程序中。试试这个

$(function(){
    $("input[name=field]")[0].oninvalid = function () {
        this.setCustomValidity("Please enter at least 5 characters.");


    };

 $("input[name=field]")[0].onchange = function () {
        this.setCustomValidity("");
    };    

});