0

如何确定 Model-Glue II 中是否存在变量?我通过表单提交传递了一个复选框(值 = 1)。这在 Controller.cfc 中的一个方法中完成,该方法已经适用于正在提交的其他变量。

测试一:

<cfif IsDefined("arguments.event.getValue('foobar')")>

</cfif>

错误:函数 IsDefined 的参数 1,现在是 arguments.event.getValue('foobar'),必须是语法上有效的变量名。

测试 B(假设 MG 隐式创建具有空白/NULL 值的变量):

<cfset foo = arguments.event.getValue('foobar') />
<cfif IsNumeric(foo) AND foo GT 0>
  // Code here
</cfif>

错误:在 ARGUMENTS 中未定义元素 FOO。

4

2 回答 2

2

ValueExists(name:string)

描述:

视图状态中是否存在给定名称的值?

回报:

布尔值

论据:

Name (required) - 要检查的值的名称

http://docs.model-glue.com/wiki/ReferenceMaterials/EventApi#ValueExistsname:string

于 2012-09-10T22:20:29.930 回答
0

根据MG Docs getValue() 应该返回“任何”。我猜这意味着当一些简单的东西不存在时,它会返回无效。

但是,它确实有一个可选的第二个参数来设置默认值。所以你可以这样做:

<cfset foo = arguments.event.getValue('foobar', -1) />
<cfif IsNumeric(foo) AND foo GT 0>
    // Code here
</cfif>

如果您使用的是 CF9,您也可以尝试使用 isNull() 函数。但我不知道它是否适用于这种情况。

于 2012-09-10T20:07:25.000 回答