我正在使用下面的代码检查值是否超出设置范围(例如,不在1到300之间)。
当我尝试在范围限制下测试数字时,我的公式看起来可以工作,例如... 0触发if语句,1不触发if语句,300不触发if语句,301触发if语句
但是,当我尝试数字4、5、6、7、8、9时,也会触发if语句,但我不明白为什么。
当我尝试使用1-3和10 +中的随机数时,if语句不会像我期望的那样被触发。
var minNumber = 1
var maxNumber = 300
if(minNumber > numberValue || maxNumber < numberValue){
notValid = true;
var errorText = "Number out of range, please enter a number between
" + minNumber + " and " + maxNumber + ".";
showErrorMessage(formElement, errorText);
}
答案 0 :(得分:3)
根据您的if条件块,您希望条件在numbervalue不在1到300之间时起作用,因此您必须像下面这样稍微更改条件...
!(minNumber> numberValue && maxNumber < numberValue)//更改
这样您的代码就变成这样...
if(!(minNumber > numberValue && maxNumber < numberValue)){
notValid = true;
var errorText = "Number out of range, please enter a number between
" + minNumber + " and " + maxNumber + ".";
showErrorMessage(formElement, errorText);
}