Edit on GitHub << back to Client Side Validation

# Pure JavaScript Client Side Validation

## Description

Pure JavaScript client side validation is the simplest but least feature-rich type of Client Side Validation. This type of validation uses 100% client-side JavaScript code to try to validate the values entered by the user. Because the validation logic is actually repeated in the JavaScript code, it is important to understand that some values will be considered acceptable by the JavaScript code but will be marked as unacceptable by the server-side Validation.

Only the following validators are supported:

- required validator
- requiredstring validator
- stringlength validator
- regex validator
- email validator
- url validator
- int validator
- double validator

> JavaScript client validation is not available for visitor validations.

## Error reporting

Because client side validation does not talk to the server, the theme (xhtml theme or css_xhtml theme ) is responsible for properly manipulating the HTML DOM to display the error message inline. The JavaScript that is responsible for doing this logic is `validation.js` and can be found in each theme.

> Errors are reported using the default validation message, not the internationalized version that the server-side might be aware of. This is a known issue. You may want to try the AJAX Client Side Validation for messages that are fully internationalized.

## Additional Validator Support

If you wish to add additional validator support beyond those listed, you may override the xhtml theme template `form-close-validate.ftl`. This file contains the JavaScript that tries to validate each user-entered value from within the browser. The css_xhtml theme extends the xhtml theme and therefore doesn’t have its own `form-close-validate.ftl` template.