jenwachter / html-form
A PHP library designed to make creating, validating, and maintaining forms easier.
Installs: 10 024
Dependents: 0
Suggesters: 0
Security: 0
Stars: 6
Watchers: 3
Forks: 2
Open Issues: 5
Requires
- php: >=5.3.2
Requires (Dev)
- php-mock/php-mock-phpunit: ^1.1
- phpunit/phpunit: ^4.8
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
$_GET
support - Improved unit tests
- Removed
-
0.3.3
- Removed label from honeypot
-
0.3.2
- Removed rendering of global
beforeElement
andafterElement
content 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