2012-05-30 4 views
0

나는 많은 함수가 userName(), password() 등등과 같이 자바 스크립트로 작성되어 있습니다. 그러나 양식을 제출할 때 나는 하나의 함수 return formValidator();을 가지고 있습니다.자바 스크립트에서 여러 함수를 확인하는 방법

나는 다른 모든 기능을 호출하고 그들이 거짓인지 아닌지를 확인하는 기능을 원한다. 그것들이 모두 true 인 경우는 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;} 
} 
+4

[무엇을 시도해 봤습니까?] (http://mattgemmell.com/2008/12/08/wha t-have-you-tried /) – j08691

답변

6

각 하나 true로 평가 뭔가를 반환해야 함을 나타 내기 위해 && 연산자를 사용하여 각 함수를 호출 할 수 있습니다. 그 중 하나가 false로 평가 뭔가를 반환하는 경우, 전체 문장은 false로 평가됩니다

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

이 하나가 작동하지 않습니다. – StaticVariable

+0

"일하지 않는다"는 것은 무엇을 의미합니까? 무슨 일이야? 자바 스크립트 콘솔에 오류가 있습니까? –

0

그것은 간단해야한다 등 :

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

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

'if (condition_which_returns_boolean_true_or_false) {return true'가 중복됩니다. 그냥 조건 평가를 반환하십시오. – rlemon

+0

네, 중복성을 제거하기 위해 업데이트하는 것이 좋습니다. 나는 downvoters 중 하나가 아닙니다. – rlemon

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

하거나 사용 AND operator :

function formValidator() { 
    return userName() && password() && ...; 
} 
관련 문제