jmversteeg/fieldwork

Web forms for cool people

4.3.0 2015-06-22 14:25 UTC

This package is not auto-updated.

Last update: 2024-05-08 14:31:33 UTC


README

Web forms for cool people

Build Status Code Quality Code Coverage

fieldwork will make your life easier by dealing with the trivial tasks of building web forms such as markup generation, validation and sanitization.

  • Define entire forms using PHP only. All HTML and JavaScript code will be generated for you.
  • Sanitizes and validates client-side for convenience + performance and server-side for security.

Creating a simple form

use fieldwork\Form;
use fieldwork\components\TextField;
use fieldwork\components\Button;
use fieldwork\validators\EmailFieldValidator;

// Instantiate a new form
$contactForm = new Form('contactform');

// Add a text field with validation
$emailField = new TextField('email', 'Email address');
$emailField
   ->addValidator(new EmailFieldValidator())
   ->addTo($contactForm);

// Add a submit button
$submitButton = new Button('submit', 'Send', 'submit', Button::TYPE_SUBMIT);
$submitButton
   ->addTo($contactForm);

// Process the form
$contactForm->process();

if($contactForm->isSubmitted())
    echo 'Your email address is ' . $contactForm->v('email');
else
    echo $contactForm->getHTML();

TODO

  • Error message i18n
  • Tighter AJAX integration / API
  • Complete test coverage

HEAD

  • Moved the front-end assets into a separate repo
  • Added NumberSanitizer
  • Added materialize.css compatible markup generation
  • Fixed some bugs