Tests for a parameter's existence, tests its data type, and provides a default value if one is not assigned.
<cfparam name = "param_name" type = "data_type"> default = "value">
cfcookie,
cfregistry,
cfsavecontent,
cfschedule,
cfset
Attribute |
Description |
---|---|
name |
The name of the parameter to test (such as "Client.Email " or "Cookie.BackgroundColor "). If you omit the DEFAULT attribute, an error occurs if the specified parameter does not exist. |
type |
Optional. The type of parameter that is required. The default is "any. " Valid types are:
|
default |
Optional. Default value to set the parameter to if it does not exist. |
There are three ways to use cfparam
:
cfparam
with only the name
attribute to test that a required variable exists. If the variable does not exist, ColdFusion Server stops processing the page and returns an error.
cfparam
with the name
and type
attributes to test that a required variable exists, and that it is of the specified type. If the variable of the specified type does not exist ColdFusion returns an error. cfparam
with the name
and default
attributes to test for the existence of an optional variable. If the variable exists, processing continues and the value is not changed. If the variable does not exist, it is created and set to the value of the default
attribute.<!--- This example shows how cfparam operates ---> <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> <html> <head> <title> cfparam Example </title> </head> <body bgcolor = silver> <H3>cfparam Example</H3> <P>cfparam is used to set default values so that the developer does not must 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> </body> </html>