gsouf/uform

Full featured form library

0.2.0 2020-03-22 20:26 UTC

This package is auto-updated.

Last update: 2024-04-23 05:28:09 UTC


README

Latest Stable Version Build Status Test Coverage

UForm is a form validation/filtering/rendering library for PHP.

Usage

Quick start

use UForm\Builder;

$form = 
     Builder::init("action", "POST")
         ->columnGroup()
             ->column(3, 12)
                 ->text("firstname", "Firstname")->required()->stringLength(2, 20)
                 ->text("lastname", "Lastname")->required()->stringLength(2, 20)
             ->close()
             ->column(3, 12)
                 ->panel('Login Information')
                     ->text("login", "Login")->required()->stringLength(2, 20)
                     ->password("password", "Password")->required()->stringLength(2, 20)
                 ->close()
             ->close()
         ->close()
     ->getForm();



//If it's a post request we validate the form with the post data
if ($_SERVER['REQUEST_METHOD'] == "POST") {
    $formContext = $form->validate($form->getInputFromGlobals());
    if ($formContext->isValid()) {
        $filteredData = $formContext->getData();
        // Do some logic with data
        // ...
    }
} else { // Or else we just generate a context with empty values
    $formContext = $form->generateContext([]);
}

// We want to render some html for bootstrap 3
$formRenderer = new Bootstrap3Render();
$html = $formRenderer->render($formContext);

echo $html;

The above example will result in:

bootstrap3.png

Full documentation

The full documentation will available at gsouf.github.io/UForm once the project will be considered as stable