
80
Chapter 3: Using ColdFusion Variables
•
With only the
name
attribute to test that a required variable exists. If it does not exist, the
ColdFusion server stops processing the page and displays an error message.
•
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, and processing continues.
The following example shows how to use the
cfparam
tag to check for the existence of an
optional variable and to set a default value if the variable does not already exist:
<cfparam name="Form.Contract" default="Yes">
Example: testing for variables
Using the
cfparam
tag with the
name
attribute is one way to clearly define the variables that a
page or a custom tag expects to receive before processing can proceed. This can make your code
more readable, as well as easier to maintain and debug.
For example, the following
cfparam
tags indicate that this page expects two form variables named
StartRow and RowsToFetch:
<cfparam name="Form.StartRow">
<cfparam name="Form.RowsToFetch">
If the page with these tags is called without either one of the form variables, an error occurs and
the page stops processing. By default, ColdFusion displays an error message; you can also handle
the error as described in
Chapter 14, “Handling Errors,” on page 285
.
Example: setting default values
The following example uses the
cfparam
tag to see if optional variables exist. If they do exist,
processing continues. If they do not exist, the ColdFusion server creates them and sets them to
the default values.
<cfparam name="Cookie.SearchString" default="temple">
<cfparam name="Client.Color" default="Grey">
<cfparam name="ShowExtraInfo" default="No">
You can use the
cfparam
tag to set default values for URL and Form variables, instead of using
conditional logic. For example, you could include the following code on the action page to ensure
that a SelectedDepts variable exists:
<cfparam name="Form.SelectedDepts" default="Marketing,Sales">
Validating data types
It is often not sufficient that input data merely exists; it must also have the right format. For
example, a date field must have data in a date format. A salary field must have data in a numeric
or currency format. There are many ways to ensure the validity of data, including the following
methods:
•
Use the
cfparam
tag with the
type
attribute to validate any variable.
•
Use a form
input
tag with a
hidden
attribute to validate the contents of a form input field. For
information on this technique, see
Chapter 26, “Validating form field data types,”
on page 579
.
•
Use
cfform
controls that have validation attributes. For more information, see
Chapter 27,
“Building Dynamic Forms,” on page 583
.
Содержание COLDFUSION MX 61-DEVELOPING COLDFUSION MX
Страница 1: ...Developing ColdFusion MX Applications...
Страница 22: ...22 Contents...
Страница 38: ......
Страница 52: ...52 Chapter 2 Elements of CFML...
Страница 162: ......
Страница 218: ...218 Chapter 10 Writing and Calling User Defined Functions...
Страница 250: ...250 Chapter 11 Building and Using ColdFusion Components...
Страница 264: ...264 Chapter 12 Building Custom CFXAPI Tags...
Страница 266: ......
Страница 314: ...314 Chapter 14 Handling Errors...
Страница 344: ...344 Chapter 15 Using Persistent Data and Locking...
Страница 349: ...About user security 349...
Страница 357: ...Security scenarios 357...
Страница 370: ...370 Chapter 16 Securing Applications...
Страница 388: ...388 Chapter 17 Developing Globalized Applications...
Страница 408: ...408 Chapter 18 Debugging and Troubleshooting Applications...
Страница 410: ......
Страница 426: ...426 Chapter 19 Introduction to Databases and SQL...
Страница 476: ...476 Chapter 22 Using Query of Queries...
Страница 534: ...534 Chapter 24 Building a Search Interface...
Страница 556: ...556 Chapter 25 Using Verity Search Expressions...
Страница 558: ......
Страница 582: ...582 Chapter 26 Retrieving and Formatting Data...
Страница 668: ......
Страница 734: ...734 Chapter 32 Using Web Services...
Страница 760: ...760 Chapter 33 Integrating J2EE and Java Elements in CFML Applications...
Страница 786: ...786 Chapter 34 Integrating COM and CORBA Objects in CFML Applications...
Страница 788: ......
Страница 806: ...806 Chapter 35 Sending and Receiving E Mail...