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

Attributes

Attribute Req/Opt Default Description
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.
  • variableName: a variable name
default
Optional
 
Value to set parameter to if it does not exist.

Usage

You can use this tag to make the following tests:

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>

Comments