如何确定Model-Glue II中是否存在变量?我通过表单提交传递了一个复选框(值= 1)。这在Controller.cfc中完成,该方法适用于已提交的其他变量。
测试A:
<cfif IsDefined("arguments.event.getValue('foobar')")>
</cfif>
错误:函数IsDefined的参数1,现在是arguments.event.getValue('foobar'),必须是语法上有效的变量名。
测试B(假设M.G.隐式创建具有空白/ NULL值的变量):
<cfset foo = arguments.event.getValue('foobar') />
<cfif IsNumeric(foo) AND foo GT 0>
// Code here
</cfif>
错误:在ARGUMENTS中未定义元素FOO。
答案 0 :(得分:2)
ValueExists(name:string)
说明:
视图状态中是否存在给定名称的值?
<强>返回:强>
布尔
<强>参数:强>
名称(必填) - 要检查的值的名称
http://docs.model-glue.com/wiki/ReferenceMaterials/EventApi#ValueExistsname:string
答案 1 :(得分:0)
根据MG Docs getValue()应返回“any”。我猜这意味着当一些简单的东西不存在时它会返回void。
但是,它确实有一个可选的第二个参数来设置默认值。所以你可以这样做:
<cfset foo = arguments.event.getValue('foobar', -1) />
<cfif IsNumeric(foo) AND foo GT 0>
// Code here
</cfif>
如果您使用的是CF9,您还可以尝试使用isNull()函数。但我不知道它是否适用于这种情况。