In addition to native ColdFusion input validation using the VALIDATE attribute of the CFINPUT and CFTEXTINPUT tags, the following tags support the ONVALIDATE attribute , which allows you to specify a JavaScript function to handle your CFFORM input validation:
The following JavaScript objects are passed by ColdFusion to the JavaScript function you specify in the ONVALIDATE attribute:
The ONERROR attribute allows you to specify a JavaScript function you want to execute in the event of a failed validation. For example, if you specify a JavaScript function to handle input validation in the ONVALIDATE attribute you can also specify a JavaScript function in the ONERROR attribute to handle a failed validation, which returns a false value. ONERROR is available in the following CFFORM tags:
When you specify a JavaScript routine in the ONERROR attribute, ColdFusion passes the following JavaScript objects to the specified routine:
| To use JavaScript to validate form data: |
<HTML>
<HEAD>
<TITLE>JavaScript Validation</TITLE>
<SCRIPT>
<!--
function testbox(form) {
Ctrl = form.inputbox1;
if (Ctrl.value == "" || Ctrl.value.indexOf ('@', 0) == -1) {
return (false);
} else
return (true);
}
//-->
</SCRIPT>
</HEAD>
<BODY>
<H2>JavaScript validation test</H2>
<P>Please enter your email address:</P>
<CFFORM NAME="UpdateForm"
ACTION="update.cfm" >
<CFINPUT TYPE="text"
NAME="inputbox1"
REQUIRED="YES"
ONVALIDATE="testbox"
MESSAGE="Sorry, invalid entry."
SIZE="10"
MAXLENGTH="10">
<INPUT TYPE="Submit" VALUE=" Update... ">
</CFFORM>
</BODY>
</HTML>
validjs.cfm.
validjs.cfm in your browser.
When you enter an invalid email address, an error appears. Even if you enter a
valide email address, and Error 404 appears because you haven't created the
action page update.cfm.
| Code | Description |
|---|---|
<SCRIPT>
<!--
function testbox(form) {
Ctrl = form.inputbox1;
if (Ctrl.value == "" || Ctrl.value.indexOf
('@', 0) == -1) {
return (false);
} else
return (true);
}
//-->
</SCRIPT>
| JavaScript code to test for valid entry in text box. |
ONVALIDATE="testbox" | Text box control parameter that calls the JavaScript test. |
See the following Web site for information on JavaScript validation scripts: