Adobe ColdFusion 8

IsDefined

Description

Evaluates a string value to determine whether the variable named in it exists.

This function is an alternative to the ParameterExists function, which is deprecated.

Returns

True, if the variable is found, or, for a structure, if the specified key is defined; False, otherwise.

The return value is False for an array or structure element referenced using bracket notation. For example, IsDefined("myArray[3]") always returns False, even if the array element myArray[3] has a value.

Category

Decision functions

Function syntax

IsDefined("variable_name")

See also

Evaluate

History

ColdFusion MX: Changed behavior: this function can process only the following constructs:

  • A simple variable
  • A named variable with dot notation
  • A named structure with dot notation (for example: mystruct.key)

Parameters

Parameter

Description

variable_name

String, enclosed in quotation marks. Name of variable to test for.

Usage

When working with scopes that ColdFusion exposes as structures, the StructKeyExists function can sometimes replace this function. The following lines are equivalent:

if(isDefined("form.myVariable"))
if(structKeyExists(form,"myVariable"))

Example

<cfif IsDefined("form.myString")>
    <p>The variable form.myString has been defined, so show its contents.
    This construction allows us to place a form and its resulting action code
    on the same page and use IsDefined to control the flow of execution.</p>
    <p>The value of "form.myString" is <b><i>
    <cfoutput>#form.myString#</cfoutput></i></b>
<cfelse>
    <p>During the first time through this template, the variable "form.myString" 
    has not yet been defined, so we do not try to evaluate it.
</cfif>

<form action="#CGI.Script_Name" method="POST">
<input type="Text" name="MyString" value="My sample value">
<input type="Submit" name="">
</form>