我有一种情况,我很困惑如何使用if else语句。这与验证有关。
我的下面代码适用于前两个字段。
if(!name || name=='' &&
!age || age==''
){
console.log('failed to validate');
return false;
}
我的第三场是棘手的。它们是skipped
或passed
。该字段将显示为skipped
或passed
。我如何确保他们得到验证?我做不到!skipped || skipped == '' && !passed || passed == ''
这肯定会失败。
答案 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
)或在验证字段之前检查字段的可见性。