A powerful and extensible form building & validation library
When it was originally written in 2010, FormIO's pretty basic requirement was to abstract and simplify the process of creating simple webforms for use on public websites. Since then considerable additions and advancements have been made and happily the library's architecture has allowed all this to happen without any breaking changes to the backend or frontend APIs.
Including builtin client and serverside validation for just about any kind of normal data, as well as mechanisms for linking fields, repeating inputs and grouping sets of related data into complex objects; in the several production deployments it has had since its first development there has never been a requirement it could not meet easily.
In terms of extensibility, the OO form field API allows creation of entirely custom form fields with their own layout, frontend behaviours and frontend/backend validation. You can find a class hierarchy of the builtin implementations on the project github page, as well as source code to the embedded example which serves as a guide on using the framework and implementing these features.