验证2个选项的运算符

时间:2016-11-20 14:11:22

标签: javascript jquery

我有一种情况,我很困惑如何使用if else语句。这与验证有关。

我的下面代码适用于前两个字段。

if(!name || name=='' &&
        !age || age=='' 
      ){
      console.log('failed to validate');
      return false;
    }

我的第三场是棘手的。它们是skippedpassed。该字段将显示为skippedpassed。我如何确保他们得到验证?我做不到!skipped || skipped == '' && !passed || passed == ''这肯定会失败。

2 个答案:

答案 0 :(得分:0)

您可以尝试这样的事情:

if(!name || name=='' 
  && !age || age=='' 
  && ((!skipped || skipped == '') 
      || (!passed || passed == ''))
  ){
  console.log('failed to validate');
  return false;
}

答案 1 :(得分:0)

在决定是否显示相应的输入字段时以及验证时使用函数:

function isPassedNeeded(){
  return someBool;
}
function isSkippedNeeded(){
  return someOtherBool;
}

验证可能看起来像

if(isPassedNeeded() && (!passed || passed == ''){
   // fail
}
// same for the other field...

但是,这种方式非常不动态。您可以考虑一些动态属性(例如,使用input' class)或在验证字段之前检查字段的可见性。