CFPARAM  
Description

Tests for a parameter's existence, tests its data type, and, if a default value is not assigned, provides one.

 
Category

Variable manipulation tags

 
Syntax
    <cfparam 
   name = "param_name"
   type = "data_type"
   default = "value">

  
 
See also

cfcookie, cfregistry, cfsavecontent, cfschedule, cfset

 
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 Server 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 of the specified type does not exist, ColdFusion returns an error.
  • To test whether an optional variable exists, use this tag with the name and default attributes. If it does not exist, it is created and set to the value of the default attribute. If it exists, processing continues; the value is not changed.
 
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 thata developer does not have to 
check for the existence of a variable using a function like IsDefined.

<p>The default value of our tempVar is 
   "<cfoutput>#StoreTempVar# </cfoutput>"

<!--- 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>
NAME  
  Required
 

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

TYPE  
  Optional
 
  • any: any value
  • array: any array value
  • binary: a binary value
  • boolean: a Boolean value
  • date: a date-time value
  • numeric: a numeric value
  • query: a query object
  • string: a string value or single character
  • struct: a structure
  • UUID: a Universally Unique Identifier, formatted `XXXXXXXX-XXXX-XXXX-XXXXXXXXXXXXXXX', where `X' is a hex digit. See CreateUUID on page 411.
  • variableName: a variable name
DEFAULT  
  Optional
 

Value to set parameter to if it does not exist.