Tests for the existence of a parameter (that is, a variable), validates its data, and, if a default value is not assigned, optionally provides one.
ColdFusion MX 7:
<cfparam name = "parameter name
" default = "value
" max = "value
" min = "value
" pattern = "regular expression
" type = "data_type
">
cfcookie, cfregistry, cfsavecontent, cfschedule, cfset; "Validating data with the IsValid function and the cfparam tag" in the ColdFusion Developer's Guide
Attribute |
Req/Opt |
Default |
Description |
---|---|---|---|
name |
Required |
|
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. |
type |
Optional |
any |
The valid format for the data; one of the following. For detailed information on validation algorithms, see "Validating form data using hidden fields" in "Validating Data" in the ColdFusion Developer's Guide.
|
You can use this tag to make the following tests:
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.
<!--- 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>