jquery - 在每个输入之间迭代以验证值

标签 jquery forms validation each preventdefault

我有这段代码,它验证输入的值是否为空,并使用 twitter bootstrap popover 显示消息错误:

$(document).on("ready", login_events());

function login_events(){

    $("#userId, #password").on("change", validateEmpty);
    $("#loginButton").on("click", validateAll);

}

function validateEmpty(){

    input = $(this);
    input.popover({animation: true, placement: 'right', trigger: 'manual', title: 'Field is Empty', content: input.attr("data-empty-message")});
    isValid = true;

    if(input.val() === ""){
        input.popover('show');
        isValid =  false;
    }
    else{
        input.popover('hide');
    }

    return isValid;

}

当更改事件完成时,这非常有效,但我想做另一个函数,该函数将在表单中的每个输入之间进行迭代,验证它是否为空(validateEmpty())并防止Default(如果有空)。

如您所见,我为 #loginButton 设置了单击事件来运行 validateAll 函数,我有类似的功能,但无法找到正确的方法:

function validateAll(event){

    $("#loginForm input").each(validateEmpty);

}

最佳答案

尝试这个关闭:

function validateAll(event){
    var isValid = true;
    $("#loginForm input").each(function (){
        input = $(this);
        input.popover({animation: true, placement: 'right', trigger: 'manual', title: 'Field is Empty', content: input.attr("data-empty-message")});
        isValid = true;

        if(input.val() === ""){
            input.popover('show');
            if (isValid)
                isValid = false;
        }
    });
    if (!isValid) {
        alert('form is not valid!');
    }
}

关于jquery - 在每个输入之间迭代以验证值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13417038/

相关文章:

javascript - 保存隐藏的 Highcharts 图例

javascript - 如何清空 owlCarousel 中的项目?

asp.net-mvc - 创建在运行时增长的动态表单

javascript - 是否可以将 id 添加到标签标签?

Node.js (Express) 表单在提交时清除

jquery - 如何在更改事件中使用 radio ?

javascript - Jquery 查找元素返回未定义

php - 如何从 sql 表向 php 表单处理程序添加变量?

php - MVC - PHP session 验证

ASP.NET: "one of two fields must be filled"的自定义客户端验证器?