Valform is a drupal module that can validate user input from both server side and client side. At client side, Javascrpt validates user input and jQuery provides elegent apparence. Click here to see some valform examples.
Features:

- Validate user input at both server side and client side;
- Validate each form element by Javascript at client side, and show error message independently for each element;
- Render error message box with default error CSS style, compatible with page CSS style;
- Show error message box sliding down and sliding up controlled by jQuery;
- Show collasible valfrom configurations block under each form element when login as admin account;
- Configurable validators at both code level or UI level(validators stored in database);
- Switchable buildin validators for forms of user register, login, request password and elements required;
- Support AJAX checking to validate user input by server from client side;
- Support conditional validation according to the other element input;
- Easily applicable extension API to define customized validators of both server side and client side;
- Validators stored in database can be disabled when only use code validators to improve performace;
- Many available buildin validators such as e-mail, URL, numeric, value compare, length compare and so on;
For more information and HOWTOs of this module, please click here.
Known limitations or conflicts:
Some WYSIWYG modules override textarea with JS implemented editor, and the content of textarea is left empty until user submits form while content of editor copied to textarea. In this scenario, Valform can not validate user input at client side when user types in JS editor instead of textarea, but still have a chance to do validation at client side when user submit the form and at server side.
There are some defficulties to do client validation for most WYSIWYG modules. They override textarea with JS editor when page loaded and hide JS editor when user submits form. If any content of form can not pass Valform validation when submission, as a switchable functionality, Valform can prevent browser submitting the form to server, thus the user will not see JS editor after that. At this circumstance, user may need to manually click 'Disable rich-text' and 'Enable rich-text' to toggle JS editor back.