PHPackages                             gsouf/uform - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Search &amp; Filtering](/categories/search)
4. /
5. gsouf/uform

ActiveLibrary[Search &amp; Filtering](/categories/search)

gsouf/uform
===========

Full featured form library

0.2.0(6y ago)01602[16 issues](https://github.com/gsouf/UForm/issues)MITPHPPHP &gt;=5.6.0CI failing

Since Jul 4Pushed 6y ago2 watchersCompare

[ Source](https://github.com/gsouf/UForm)[ Packagist](https://packagist.org/packages/gsouf/uform)[ Docs](https://github.com/gsouf/UForm)[ RSS](/packages/gsouf-uform/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (3)Dependencies (5)Versions (8)Used By (0)

UForm
=====

[](#uform)

[![Latest Stable Version](https://camo.githubusercontent.com/98bfcc6ff569308a7e97f08779d64e72b4555a26231b6a76e34cd317f4f9f64f/68747470733a2f2f706f7365722e707567782e6f72672f67736f75662f75666f726d2f76657273696f6e)](https://packagist.org/packages/gsouf/uform)[![Build Status](https://camo.githubusercontent.com/2fc380ff0d335a56766c486dab9340bcd2caa64642a94964089d099409883ef6/68747470733a2f2f7472617669732d63692e6f72672f67736f75662f55466f726d2e737667)](https://travis-ci.org/gsouf/UForm)[![Test Coverage](https://camo.githubusercontent.com/40480c8137a39953ec7e3f6624fbdd6945379fd6e5d2148c62d20e8632751063/68747470733a2f2f636f6465636c696d6174652e636f6d2f6769746875622f67736f75662f55466f726d2f6261646765732f636f7665726167652e737667)](https://codeclimate.com/github/gsouf/UForm/coverage)

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

Usage
-----

[](#usage)

### Quick start

[](#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:

[![](/doc/screenshot/bootstrap3.png)](/doc/screenshot/bootstrap3.png)

### Full documentation

[](#full-documentation)

The full documentation will available at [gsouf.github.io/UForm](http://gsouf.github.io/UForm) once the project will be considered as stable

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 99.8% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~417 days

Recently: every ~508 days

Total

6

Last Release

2248d ago

PHP version history (2 changes)v0.0.3PHP &gt;=5.4.0

0.1.0PHP &gt;=5.6.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/e6f24737cd0c46fea5e7a294f91582b35a052ce23cd2375f8f48e2faecb6fd78?d=identicon)[gsouf](/maintainers/gsouf)

---

Top Contributors

[![gsouf](https://avatars.githubusercontent.com/u/3215399?v=4)](https://github.com/gsouf "gsouf (425 commits)")[![greydnls](https://avatars.githubusercontent.com/u/1276798?v=4)](https://github.com/greydnls "greydnls (1 commits)")

---

Tags

formform-builderlibraryphpvalidationfilterbootstrapfoundationform

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/gsouf-uform/health.svg)

```
[![Health](https://phpackages.com/badges/gsouf-uform/health.svg)](https://phpackages.com/packages/gsouf-uform)
```

###  Alternatives

[aura/filter

Filters to validate and sanitize objects and arrays.

173561.0k10](/packages/aura-filter)[codewithdennis/filament-price-filter

A simple and customizable price filter for FilamentPHP, allowing users to easily refine results based on specified price ranges.

163.2k](/packages/codewithdennis-filament-price-filter)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
