jquery - 是否可以在非必填字段上使用 HTML5 验证?

标签 jquery html 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("");
    };
});

最佳答案

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

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


    };

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

});

关于jquery - 是否可以在非必填字段上使用 HTML5 验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25887103/

相关文章:

javascript - 如何使隐藏的div向下滑动而不影响同一行的其他元素

javascript - "Uncaught RefereceError: txtfile is not defined"

javascript - 如何申请SameSite?

validation - 当自定义验证器验证失败时如何跳过操作?

rest - 使用validator.v2根据不同字段的值验证字段

Jquery 淡入淡出幻灯片无法正常工作

jquery - Twitter Bootstrap 3.0 崩溃时图标发生变化

jquery - 使用 HTML 模板和 Jquery 克隆将新面板添加到 div 上

javascript - 我有这个错误: Cannot read property 'value' of null, I dont understand why

javascript - 跳过 Sails.js 中的模型验证?