0

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

我希望函数调用所有其他函数并检查它们是否返回错误。如果它们都为真,则应返回真,否则应返回假。

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;}
}
4

3 回答 3

6

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

function formValidator() {
    return userName() && password() && somethingElse() && etc();
}
于 2012-05-30T15:36:31.563 回答
1
var validators = [userName, password, ...];
function formValidator() {
    return validators.every(function(fn){return fn();});
}

或者只使用AND 运算符

function formValidator() {
    return userName() && password() && ...;
}
于 2012-05-30T15:37:58.323 回答
0

它应该很简单:

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

    return username && password; // or just return userName() && password();
}
于 2012-05-30T15:37:20.580 回答