结合2个IF / ELSE语句(验证)

时间:2013-12-06 17:15:51

标签: javascript extjs if-statement

我正在尝试组合2个IF / Else语句来创建一个验证函数。这是我的2个单独验证的代码:

function validateCarsMin(v){
    if (tfRateLoc1.getValue() > 0 || tfRateLoc2.getValue() > 0){
        if (tfRateLoc3.getValue() > 0){
         return '1B cannot contain a value if CW is entered';
        }
    } else return true     
}

function validateRateLoc3(v){
    if (v != ''){
        if(tfRateLoc3.getValue() < tfRateLoc4.getValue()){
            return true;
        } else {
            return 'This Value is not valid';
        }}
}

我不知道这是否有最好的做法,它会是什么呢?

感谢我对上一个问题的帮助。

1 个答案:

答案 0 :(得分:0)

更改功能以返回truefalse。您可以将msgs推送到稍后要使用的数组。

var errorMsgs = [];

function validateCarsMin(){
    if (tfRateLoc1.getValue() > 0 || tfRateLoc2.getValue() > 0){
        if (tfRateLoc3.getValue() > 0){
           errorMsgs.push('1B cannot contain a value if CW is entered');
         return false;
        }
    } else{
       return true;
    }     
}

function validateRateLoc3(){
        if(tfRateLoc3.getValue() < tfRateLoc4.getValue()){
            return true;
        } else {
            errorMsgs.push('This Value is not valid');
            return false;
        }};
}

function validateForm(){
   var isValid = false;
   isValid = validateCarsMin();
   isValid = (!isValid) ? isValid:validateRateLoc3();
   return isValid;
}

注意我删除了v参数,因为它似乎无关紧要。它不在第一个函数中使用,它在第二个函数中创建语法错误。