Attributes

Name of the parameter (variable) to test
(such as "Client.Email " or "Cookie.BackgroundColor "). If omitted,
and if the parameter does not exist, an error is thrown.

default

Optional

Value to set parameter to if it does not
exist. Any expression used for the default attribute is evaluated,
even if the parameter exists. The result is not assigned if the
parameter exists, but if the expression has side effects, they still
occur.

max

Optional

The maximum valid value; used only for range validation.

min

Optional

The minimum valid value; used only for range validation.

pattern

Optional

A JavaScript regular expression that the
parameter must match; used only for regex or regular_expression validation.

USdate: a U.S. date of the format mm/dd/yy,
with 1-2 digit days and months, 1-4 digit years.

variableName: a string formatted according
to ColdFusion variable naming conventions.

xml: XML objects and XML strings.

zipcode: U.S., 5- or 9-digit format ZIP codes.

Usage

You can
use this tag to make the following tests:

To test
whether a required variable exists, use this tag with only the name attribute.
If it does not exist, ColdFusion stops processing the page and returns an
error.

To test whether a required variable exists, and that it is
of the specified type, use this tag with the name and type attributes.
If the variable does not exist or its value is not of the specified
type, ColdFusion returns an error.

To set a default value for the variable, use this tag with
the name and default attributes.
If the variable does not exist, it is created and set to the default attribute
value. If the variable exists, processing continues; the value is
not changed.

If you specify variableName for
the type attribute, the parameter’s value must
be a string that is in ColdFusion variable name format; that is,
starts with a letter, underscore (_), or Unicode currency symbol,
and contains letters, numbers, underscores, periods, and Unicode
currency symbols, only. ColdFusion does not check whether the parameter
value corresponds to an existing ColdFusion variable.

To improve performance, avoid using the cfparam tag
in ColdFusion functions, including in CFC methods. Instead, place
the cfparamtags in the body of the CFML pages.

Example

<!--- This example shows how to use CFPARAM to define default values for page variables. --->
<cfparam name = "storeTempVar" default = "my default value">
<cfparam name = "tempVar" default = "my default value">
<!--- Check if form.tempVar was passed. --->
<cfif IsDefined("form.tempVar") is "True">
<!--- Check if form.tempVar is not blank. --->
<cfif form.tempVar is not "">
<!--- If not, set tempVar to value of form.tempVar --->
<cfset tempVar = form.tempVar>
</cfif>
</cfif>
<body>
<h3>cfparam Example</h3>
<p>cfparam is used to set default values so that a developer does not have to
check for the existence of a variable using a function like IsDefined.</p>
<p>The default value of our tempVar is "<cfoutput>#StoreTempVar# </cfoutput>"</p>
<!--- Check if tempVar is still the same as StoreTempVar and that tempVar is not blank. --->
<cfif tempVar is not #StoreTempVar#
and tempVar is not "">
<h3>The value of tempVar has changed: the new value is
<cfoutput>#tempVar#</cfoutput></h3>
</cfif>
<p>
<form action = "cfparam.cfm" method = "post">
Type in a new value for tempVar, and hit submit:<br>
<input type = "Text" name = "tempVar">
<input type = "Submit" name = "" value = "submit">
</form>

Twitter™ and Facebook posts are not covered under the terms of Creative Commons.