# CFML Code Validation

The ColdFusion Application Server features two modes of attribute checking for processing application pages: strict and relaxed. Allaire recommends that you always use the strictest possible level of CFML validation. To enable strict validation, open the ColdFusion Administrator Server Settings page and check the "Enable Strict Attribute Validation" box.

The code validator inspects all code before execution begins. In addition, attribute validation is generally performed at p-code time and not at execution. The exceptions to this rule are tags with a "switch" attribute, such as ACTION= or METHOD=, for which the value is provided at runtime. These instances are validated at runtime. There are two implications:

- There will be a slight performance penalty due to runtime attribute validation.
- The CFML syntax checker will not be able to detect an invalid attribute combination -- in this case because it does not execute the CFML page it checks.

Although dynamically providing an action can save a few lines of code, you should avoid this practice in the interest of a more complete validation and faster application performance.

Tip | If a commercially purchased custom tags fails to run, try turning off the "Enforce Strict Attribute Validation" setting in the ColdFusion Administrator. If the tag continues to generate errors, you should contact the tag's vendor.

The CFML Syntax checker application page is:

    webroot/cfdocs/cfmlsyntaxcheck.cfm.