Client Side Validation, CSV in short has a history for us years before PrimeFaces. If you are interested in a little bit of history, see the Diaries of a JSF Client Side Validation Lunatic entry from 2006. (This is way before Optimus Prime era).
PrimeFaces CSV Framework is the most complete and advanced CSV solution for JavaServer Faces and Java EE.
Server Side Compatible
Validation metadata is stored using HTML5 data attributes so that page is not bloated with script tags, page size is kept small and lightweight.
Partial Processing with Ajax
JSF Ajax API has the concept of partial processing to execute certain components in lifecycle within an ajax request. CSV supports this as well by only validating components that would be processed with ajax on server side.
PrimeFaces Locales API has been enhanced to include translations for messages. JSF features like message formatting, labels, requiredMessage, validatorMessage, converterMessage are all supported when displaying messages
Client Side Renderers
Message components as well as input components have client side renderers so that they reflect the changes of validations results purely on client side.
Custom Converters and Validators
All of the built-in JSF converters and validators are available at client side, however if you have a custom converter-validator it is easy to port them to client using CSV APIs like ClientValidator-ClientConverter interfaces.
By default, CSV is triggered when a form is submitted with a button-link click, however it is also possible to validate an input instantly using p:clientValidator behavior providing support for customizable dom events like blur, change, keyup and more.
CSV is disabled by default and a context param setting is required to switch it on. Trigger components like buttons-links are also equipped with necessary attributes for component based control.
JSF already provides integration with Bean Validation on server side and PrimeFaces takes it to the next level with CSV integration. You just need to annotate your model with bean validation constraints and PrimeFaces validates them on client side. If you have a custom constraint like @MyConstraint, CSV also provides an API to port them to client side so that your custom annotations can validate at client side as well.
It is suggested to try showcase demos with a clean browser cache.
CSV is targeted for upcoming PrimeFaces 4.0 aka Sentinel.