如何在javascript中检查多个功能

时间:2012-05-30 15:35:02

标签: javascript forms javascript-events

我有许多用Javascript编写的函数,例如userName()password()等。但是在提交表单时,我只有一个函数return formValidator();

我希望函数调用所有其他函数并检查它们是否返回false。如果它们都是真的,它应该返回true,否则它应该返回false。

function userName(){
      var x=document.forms["signupform"]["firstname"].value;
            if(x=="" ||x==null){
           document.getElementById("firstname").style.border="1px solid #F50A0A";
           document.getElementById("firstname").style.boxShadow="2px 2px 5px #F50A0A";
           return false;
      }else {return true;}
}

function password(){
 var z=document.forms["signupform"]["password"].value;
      if(z=="" ||z==null){
            document.getElementById("password").style.border="1px solid #F50A0A";
           document.getElementById("password").style.boxShadow="2px 2px 5px #F50A0A";
            return false;
      }else {return true;}
}

3 个答案:

答案 0 :(得分:6)

您可以使用&&运算符调用每个函数,以指示每个函数必须返回评估为true的内容。如果其中任何一个返回评估为false的内容,则整个语句将评估为false

function formValidator() {
    return userName() && password() && somethingElse() && etc();
}

答案 1 :(得分:1)

var validators = [userName, password, ...];
function formValidator() {
    return validators.every(function(fn){return fn();});
}

或只使用AND operator

function formValidator() {
    return userName() && password() && ...;
}

答案 2 :(得分:0)

应该如此简单:

function formValidator()
{
    var username = userName();
    var password = password();

    return username && password; // or just return userName() && password();
}