Masking form input values



The cfinput tag mask attribute controls the format of data that can be entered into a text or datefield input field. You can also use a mask attribute in the cfcalendar tag. You can combine masking and validation on a field.

  • In HTML and Flash form format, a mask can control the format of data entered into a text field.

  • In the cfcalendar tag, and, for Flash format forms, the datefield type cfinput field, a mask can control the format of the date that ColdFusion uses for the date a user chooses in the displayed calendar.

Note: The standard ColdFusion XML skins do not support masking.

Masking text input

In text fields, ColdFusion automatically inserts literal mask characters, such as - characters in telephone numbers. Users type only the variable part of the field. You can use the following characters to mask data:

Mask character

Effect

A

Allows an uppercase or lowercase character: A–Z and a–z.

X

Allows an uppercase or lowercase character or number: A–Z, a–z, and 0–9.

9

Allows a number: 0–9.

?

Allows any character.

All other characters

Automatically inserts the literal character.

The following pattern enforces entry of a part number of the format EB-1234-c1-098765, where the user starts the entry by typing the first numeric character, such as 1. ColdFusion fills in the preceding EB prefix and all hyphen (-) characters. The user must enter four numbers, followed by two alphanumeric characters, followed by six numbers.

<cfinput type="text" name="newPart" mask="EB-9999-XX-999999" />
Note: You cannot force a user to type an A, X, 9, or question mark (?) character. To ensure that a pattern is all-uppercase or all-lowercase, use the ColdFusion UCase or LCase functions in the action page.

Masking cfcalendar and datefield input

In the cfcalendar tag and the Flash format datefield input control, you use the following masks to determine the format of the output. You can use uppercase or lowercase characters in the mask:

Mask

Pattern

D

Single- or double-digit day of month, such as 1 or 28

DD

Double-digit day of month, such as 01 or 28

M

Single- or double-digit month, such as 1 or 12

MM

Double-digit month, such as 01 or 12

MMM

Abbreviated month name, such as Jan or Dec

MMMM

Full month name, such as January or December

YY

Two-character year, such as 05

YYYY

Four-character year, such as 2005

E

Single-digit day of week, in the range 0 (Sunday)–6 (Saturday)

EEE

Abbreviated day of week name, such as Mon or Sun

EEEE

Full month day of week name, such as Monday or Sunday

The following pattern specifies that the Flash form sends the date selected using a datefield input control to ColdFusion as text in the format 04/29/2004:

<cfinput name="startDate" type="datefield" label="date:" mask="mm/dd/yyyy"/>