检查ColdFusion范围的简单方法,如果超出该范围,请选择一个值
我是ColdFusion的新手,我遇到了一些遗留代码,这些代码没有检查GET参数中的数字。我正在尝试添加一些类似的代码:检查ColdFusion范围的简单方法,如果超出该范围,请选择一个值,coldfusion,coldfusion-10,Coldfusion,Coldfusion 10,我是ColdFusion的新手,我遇到了一些遗留代码,这些代码没有检查GET参数中的数字。我正在尝试添加一些类似的代码: <cfparam name="URL.count" default="5" min="1" max="9999" type="range"> 这样,没有人可以只添加任意值,如50000或-1。我认为,如果ColdFusion超出该范围,它将使用指定的默认值,但它似乎会抛出异常,并且只有在未
<cfparam name="URL.count"
default="5"
min="1" max="9999"
type="range">
这样,没有人可以只添加任意值,如50000或-1。我认为,如果ColdFusion超出该范围,它将使用指定的默认值,但它似乎会抛出异常,并且只有在未指定任何内容时才使用默认值
我可以尝试/捕获异常,但我想知道,因为我是新手,在ColdFusion中是否有更好的实践来处理这种情况。也许还有一个ColdFusion标签我不知道这类事情。在ColdFusion中处理这个问题的实践与在任何语言中都是一样的-if/else
if (url.count <= 99999) {
code for good count
}
else {
code for bad count
}
if(url.count在ColdFusion中处理此问题的实践与在任何语言中处理此问题的实践相同-if/else
if (url.count <= 99999) {
code for good count
}
else {
code for bad count
}
if(url.count在ColdFusion中处理此问题的实践与在任何语言中处理此问题的实践相同-if/else
if (url.count <= 99999) {
code for good count
}
else {
code for bad count
}
if(url.count在ColdFusion中处理此问题的实践与在任何语言中处理此问题的实践相同-if/else
if (url.count <= 99999) {
code for good count
}
else {
code for bad count
}
if(url.countCFPARAM仅用于为尚未定义的变量设置默认值。虽然它可用于验证变量的数据类型,但它不能执行与值相关的条件逻辑。您必须手动执行此操作
<cfparam name="URL.count" type="numeric" default="5">
<cfif (url.count LT 1) OR (url.count GT 9999)>
<cfthrow type="error" message="The current count (#url.count#) is outside of the allowed range.">
</cfif>
CFPARAM仅用于为尚未定义的变量设置默认值。虽然它可用于验证变量的数据类型,但不能执行与值相关的条件逻辑。您必须手动执行此操作
<cfparam name="URL.count" type="numeric" default="5">
<cfif (url.count LT 1) OR (url.count GT 9999)>
<cfthrow type="error" message="The current count (#url.count#) is outside of the allowed range.">
</cfif>
CFPARAM仅用于为尚未定义的变量设置默认值。虽然它可用于验证变量的数据类型,但不能执行与值相关的条件逻辑。您必须手动执行此操作
<cfparam name="URL.count" type="numeric" default="5">
<cfif (url.count LT 1) OR (url.count GT 9999)>
<cfthrow type="error" message="The current count (#url.count#) is outside of the allowed range.">
</cfif>
CFPARAM仅用于为尚未定义的变量设置默认值。虽然它可用于验证变量的数据类型,但不能执行与值相关的条件逻辑。您必须手动执行此操作
<cfparam name="URL.count" type="numeric" default="5">
<cfif (url.count LT 1) OR (url.count GT 9999)>
<cfthrow type="error" message="The current count (#url.count#) is outside of the allowed range.">
</cfif>
像这样组合最小值和最大值。我会更详细一些,但我认为这只会让人困惑。(最小值介于最大值和之间…)
作为一种功能,更具可读性
<cfscript>
numeric function uForceRange(required numeric cNum, required numeric lNum, required numeric hNum) {
return Min(Max(arguments.lNum,arguments.cNum),arguments.hNum);
}
</cfscript>
<cfoutput><pre>Between 1 and 10:
7: #uForceRange(7,1,10)#
0: #uForceRange(0,1,10)#
42: #uForceRange(42,1,10)#
10.4: #uForceRange(10.4,1,10)#</pre></cfoutput>
数字函数uForceRange(必需的数字cNum、必需的数字lNum、必需的数字hNum){
返回Min(Max(arguments.lNum,arguments.cNum),arguments.hNum);
}
在1到10之间:
7:#uForceRange(7,1,10)#
0:#uForceRange(0,1,10)#
42:#uForceRange(42,1,10)#
10.4:#uForceRange(10.4,1,10)#
当然,这个简单的函数在任何语言中都同样容易实现。将最小值和最大值结合起来,就像这样。我会说得更详细,但我认为这只会让它变得混乱。(最小值介于最大值和之间…)
作为一种功能,更具可读性
<cfscript>
numeric function uForceRange(required numeric cNum, required numeric lNum, required numeric hNum) {
return Min(Max(arguments.lNum,arguments.cNum),arguments.hNum);
}
</cfscript>
<cfoutput><pre>Between 1 and 10:
7: #uForceRange(7,1,10)#
0: #uForceRange(0,1,10)#
42: #uForceRange(42,1,10)#
10.4: #uForceRange(10.4,1,10)#</pre></cfoutput>
数字函数uForceRange(必需的数字cNum、必需的数字lNum、必需的数字hNum){
返回Min(Max(arguments.lNum,arguments.cNum),arguments.hNum);
}
在1到10之间:
7:#uForceRange(7,1,10)#
0:#uForceRange(0,1,10)#
42:#uForceRange(42,1,10)#
10.4:#uForceRange(10.4,1,10)#
当然,这个简单的函数在任何语言中都同样容易实现。将最小值和最大值结合起来,就像这样。我会说得更详细,但我认为这只会让它变得混乱。(最小值介于最大值和之间…)
作为一种功能,更具可读性
<cfscript>
numeric function uForceRange(required numeric cNum, required numeric lNum, required numeric hNum) {
return Min(Max(arguments.lNum,arguments.cNum),arguments.hNum);
}
</cfscript>
<cfoutput><pre>Between 1 and 10:
7: #uForceRange(7,1,10)#
0: #uForceRange(0,1,10)#
42: #uForceRange(42,1,10)#
10.4: #uForceRange(10.4,1,10)#</pre></cfoutput>
数字函数uForceRange(必需的数字cNum、必需的数字lNum、必需的数字hNum){
返回Min(Max(arguments.lNum,arguments.cNum),arguments.hNum);
}
在1到10之间:
7:#uForceRange(7,1,10)#
0:#uForceRange(0,1,10)#
42:#uForceRange(42,1,10)#
10.4:#uForceRange(10.4,1,10)#
当然,这个简单的函数在任何语言中都同样容易实现。将最小值和最大值结合起来,就像这样。我会说得更详细,但我认为这只会让它变得混乱。(最小值介于最大值和之间…)
作为一种功能,更具可读性
<cfscript>
numeric function uForceRange(required numeric cNum, required numeric lNum, required numeric hNum) {
return Min(Max(arguments.lNum,arguments.cNum),arguments.hNum);
}
</cfscript>
<cfoutput><pre>Between 1 and 10:
7: #uForceRange(7,1,10)#
0: #uForceRange(0,1,10)#
42: #uForceRange(42,1,10)#
10.4: #uForceRange(10.4,1,10)#</pre></cfoutput>
数字函数uForceRange(必需的数字cNum、必需的数字lNum、必需的数字hNum){
返回Min(Max(arguments.lNum,arguments.cNum),arguments.hNum);
}
在1到10之间:
7:#uForceRange(7,1,10)#
0:#uForceRange(0,1,10)#
42:#uForceRange(42,1,10)#
10.4:#uForceRange(10.4,1,10)#
这个简单的函数当然在任何语言中都同样容易实现。Bummer。我曾想过使用try/catch块来捕获范围外的值,但希望有类似于exterofrange default=5
或类似的东西。Bummer。我曾想过使用try/catch块来捕获范围外的值Bummer.我曾想过用try/catch块来捕捉范围外的值,但希望有类似于范围外默认值=5
或类似的东西。Bummer.我曾想过用try/catch块来捕捉范围外的值,但希望有类似于范围外默认值=5
或类似的东西y/catch块捕获范围外的值,但希望出现类似于范围外default=5
或类似的其他好东西。