我无法使下面的IF语句正常工作。前两个语句完美执行。但是,最后一个语句(带有!=语句的语句)根本没有被读取。我不知道我哪里出错了。
function validatePrivate(v){
if (cbSwitchStatus.getValue()!='P') {
if (v=='') return true;
else return 'This valid is not valid.';
}
else {
if (storePrivate.findExact('disp',v) > -1) return true;
else return 'This value is not valid.';
}
else{
if(cbServCarrier.getValue() != cbPrivateCarrier.getValue()) return true;
else return 'This value is not valid.';
}
}
答案 0 :(得分:2)
简单地说,你不能拥有多个其他人,因为最后的其他人根本就不会被评估......
function validatePrivate(v){
if (cbSwitchStatus.getValue()!='P') {
if (v=='') return true;
return 'This valid is not valid.';
}
else if (storePrivate.findExact('disp',v) > -1) {
return 'This value is not valid.';
}
else if(cbServCarrier.getValue() != cbPrivateCarrier.getValue()) {
return 'This value is not valid.';
}
}
答案 1 :(得分:1)
if (
cbSwitchStatus.getValue()!='P' && v=='' ||
storePrivate.findExact('disp',v) > -1 ||
cbServCarrier.getValue() != cbPrivateCarrier.getValue()
) {
return true;
} else {
return 'This valid is not valid.';
}
答案 2 :(得分:0)
有问题的最终'else'块没有到达它的执行路径。
您需要澄清最终“其他”条件所包含的情况,然后相应地修改您的封闭式括号以确保它们反映您的意图。
答案 3 :(得分:0)
你不能有多个else块(因为第一个if或first else块总是会执行),将它们组合成一个或嵌套它们如下:
function validatePrivate(v){
if (cbSwitchStatus.getValue()!='P') {
if (v=='') return true;
else return 'This valid is not valid.';
}
else if (storePrivate.findExact('disp',v) > -1){
return true;
}
else if(cbServCarrier.getValue() != cbPrivateCarrier.getValue()) {
return true;
}
else {
return 'This value is not valid.'
};
}