jenwachter / html-form
A PHP library designed to make creating, validating, and maintaining forms easier.
v0.8.4
2026-08-03 13:02 UTC
Requires
- php: >=5.3.2
Requires (Dev)
- php-mock/php-mock-phpunit: ^1.1
- phpunit/phpunit: ^4.8
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
Hate writing and validating HTML forms? Me too. The HTML Form library was designed to make creating, validating, and maintaining forms easier.
Requirements
- PHP >= 5.3.2
- Sessions enabled (if you want the form fields to repopulate)
Installation
Via Composer:
{
"require": {
"jenwachter/html-form": "0.3.*"
}
}
Documentation
See below for basic usage or see the wiki.
Basic Usage
// Create the form $form = new \HtmlForm\Form(); // Add a fieldset $fieldset = $form->addFieldset("Contact info"); // Add some form fields $fieldset->addTextbox("name", "Your name", array("required" => true)) ->addEmail("email", "Your email", array("required" => true)) ->addNumber("age", "Your age") ->addSelect("gender", "Your gender", array("male", "female")); $form->addSubmit("submit", "Submit"); // Render the form $form->display(); // Validate the form if (isset($_POST["submit"]) && $form->isValid()) { // continue processing the form as you see fit }
Changelog
-
0.8
- Added server-side validation for maxlength attribute
-
0.7
- Moved location of help text to after label for accessibility
-
0.6.2
- Added htmlspecialchars method
-
0.6.1
- Bugfix
-
0.6
- Added striptags sanitizer
-
0.5
- Moved validation functions into element classes.
- Added sanitizer class
-
0.4
- Removed
$_GETsupport - Improved unit tests
- Removed
-
0.3.3
- Removed label from honeypot
-
0.3.2
- Removed rendering of global
beforeElementandafterElementcontent before and after bits of HTML.
- Removed rendering of global
-
0.3.1
- Bug fix
-
0.3
- Added a flag that allows option form fields to use the numeric keys of the options array as the option field's value. Issue #13
-
0.2
- Method name changes in HtmlForm\Form:
- render() is now display()
- compileForm() is now render()
- Method name changes in HtmlForm\Form:
-
0.1
- Initial release