--- linkTitle: "Documentation" title: Introduction --- Creating and processing HTML forms is hard and repetitive. You need to deal with rendering HTML form fields, validating submitted data, mapping the form data into objects and a lot more. **go-form** includes a powerful form feature that provides all these features. **go-form** is heavily influenced by [Symfony Form](https://symfony.com/doc/current/forms.html). It includes: * A form builder based on fields declarations and independent of structs * Validation based on constraints * Data mounting to populate a form from a struct instance * Data binding to populate a struct instance from a submitted form * Form renderer with customizable themes