This is a form validation jQuery plugin built with flexibility and code semantics in mind. It uses only HTML5 required and data-* attributes and it's very easy and intuitive to implement. A major benefit of this plugin is that it is not intrusive at all, and it allows you to have whatever HTML structure you wish, and the validation will still work!
It is very customizable, so you can set your own error messages and their behaviour if you want, and a custom callback function to be called upon success. You can also add your own validation rules to be checked against, as many as you want per element! To see all the settings and examples of custom rules, custom error behaviour, and custom success callback function, please see the plugin initialization section (not definition) in script.js from the downloaded archive.
Below, you can see a demo along with the validation rules used in each case and the HTML attributes applied per element to achieve this result.