Formcat is a class for performing form validation on the client side.
Its goal is to generate Javascript code to validate forms before they are submited to the server.
It works as a plug-in for the Smarty template engine. It is a good complement SmartyValidate plug-in that performs server side validation.
It supports many built-in validation criteria: empty, range, length, checkbox, radio button, integer, float, email, credit card, list menu, date, date comparison, equality between fields, file size, file type, custom validator calls.
{formcat ...} tags can be located anywhere in the templates, regardless of where the corresponding fields are located in the form.