检查ColdFusion范围的简单方法,如果超出该范围,请选择一个值

检查ColdFusion范围的简单方法,如果超出该范围,请选择一个值,coldfusion,coldfusion-10,Coldfusion,Coldfusion 10,我是ColdFusion的新手,我遇到了一些遗留代码,这些代码没有检查GET参数中的数字。我正在尝试添加一些类似的代码: <cfparam name="URL.count" default="5" min="1" max="9999" type="range"> 这样,没有人可以只添加任意值,如50000或-1。我认为,如果ColdFusion超出该范围,它将使用指定的默认值,但它似乎会抛出异常,并且只有在未

我是ColdFusion的新手,我遇到了一些遗留代码,这些代码没有检查GET参数中的数字。我正在尝试添加一些类似的代码:

<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
或类似的其他好东西。