PHPackages                             eduardosaveiga/laravel-uikit-3-forms - 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. [Templating &amp; Views](/categories/templating)
4. /
5. eduardosaveiga/laravel-uikit-3-forms

ActivePackage[Templating &amp; Views](/categories/templating)

eduardosaveiga/laravel-uikit-3-forms
====================================

UIKit 3 form builder for Laravel 5

5441PHP

Since Sep 20Pushed 7y ago3 watchersCompare

[ Source](https://github.com/eduardosaveiga/laravel-uikit-3-forms)[ Packagist](https://packagist.org/packages/eduardosaveiga/laravel-uikit-3-forms)[ RSS](/packages/eduardosaveiga-laravel-uikit-3-forms/feed)WikiDiscussions master Synced yesterday

READMEChangelogDependenciesVersions (1)Used By (0)

UIKit 3 forms for Laravel 5
===========================

[](#uikit-3-forms-for-laravel-5)

This is a package for creating UIKit 3 styled form elements in Laravel 5.

Features
--------

[](#features)

- Labels
- Error messages
- UIKit 3 markup and classes (including state, colors, and sizes)
- Error validation messages
- Form fill (using model instance, array or after form submission when a validation error occurs)
- Internationalization
- Add parameters using php chaining approach
- Zero dependences (no Laravel Collective dependency)

Introduction
------------

[](#introduction)

### Before

[](#before)

```

    Username

    @if ($errors->has('username'))

			{{ $errors->first('username') }}

    @endif

```

### After

[](#after)

```
Form::text('username', 'Username')
```

Installation
------------

[](#installation)

#### Require the package using Composer.

[](#require-the-package-using-composer)

```
composer require eduardosaveiga/laravel-uikit-3-forms
```

### Laravel 5.5 or above

[](#laravel-55-or-above)

If you is using Laravel 5.5, the auto discovery feature will make everything for you and your job is done, you can start using now. Else, follow the steps below to install.

### Laravel 5.4

[](#laravel-54)

#### Add the service provider to your config/app.php file

[](#add-the-service-provider-to-your-configappphp-file)

```
'providers' => [
    //...
	EduardoVeiga\Uikit3Forms\Uikit3FormsServiceProvider::class,
],
```

#### Add the BootForm facade to the aliases array in config/app.php:

[](#add-the-bootform-facade-to-the-aliases-array-in-configappphp)

```
'aliases' => [
    //...
    'Form' => EduardoVeiga\Uikit3Forms\Uikit3FormsFacade::class,
],
```

Usage
-----

[](#usage)

### Basic form controls

[](#basic-form-controls)

#### Opening and closing a form

[](#opening-and-closing-a-form)

```
// Opening a form using POST method

{!! Form::open() !!}
// ... Form components here
{!! Form::close() !!}
```

> Opening the form will add \_token field automatically for you

### Basic inputs

[](#basic-inputs)

#### Text inputs

[](#text-inputs)

ParamTypeDefaultDescription$namestringnullInput name$labelstringnullInput label$defaultstringnullDefault value```
// Example
{!! Form::text('name', 'User name') !!}
```

##### Textarea

[](#textarea)

ParamTypeDefaultDescription$namestringnullInput name$labelstringnullInput label$defaultstringnullDefault value```
// Example
{!! Form::textarea('description', 'Description') !!}
```

##### Select

[](#select)

ParamTypeDefaultDescription$namestringnullInput name$labelstringnullInput label$optionsarray\[\]Select options$defaultstringnullDefault value```
// Example
{!! Form::select('city', 'Choose your city', [1 => 'Gotham City', 2 => 'Springfield']) !!}
```

##### Checkbox

[](#checkbox)

ParamTypeDefaultDescription$namestringnullInput name$labelstringnullInput label$valuestringnullInput value$defaultbooleannullDefault value```
// Example
{!! Form::checkbox('orange', 'Orange') !!}
```

##### Radio

[](#radio)

ParamTypeDefaultDescription$namestringnullInput name$labelstringnullInput label$valuestringnullInput value$defaultbooleannullDefault value```
// Example
{!! Form::radio('orange', 'Orange') !!}
```

##### Range

[](#range)

ParamTypeDefaultDescription$namestringnullInput name$labelstringnullInput label$defaultstringnullDefault value$minstring0Minimum value$maxstring10Maximum value$stepstring0.1Step value```
// Example
{!! Form::range('like', 'Like', '2', '0', '20', '1') !!}
```

##### Hidden

[](#hidden)

ParamTypeDefaultDescription$namestringnullInput name$defaultbooleannullDefault value```
// Example
{!! Form::hidden('user_id') !!}
```

##### Anchor

[](#anchor)

ParamTypeDefaultDescription$valuestringnullAnchor text$urlstringnullAnchor url```
// Example
{!! Form::anchor("Link via parameter", 'foo/bar') !!}
```

##### Buttons

[](#buttons)

ParamTypeDefaultDescription$valuestringnullButton value###### Submit

[](#submit)

```
// Example
{!! Form::submit("Send form") !!}
```

###### Button

[](#button)

```
// Example
{!! Form::button("Do something") !!}
```

###### Reset

[](#reset)

```
// Example
{!! Form::reset("Clear form") !!}
```

### Chainable methods

[](#chainable-methods)

> This package uses [chaining](https://en.wikipedia.org/wiki/Method_chaining) feature, allowing easly pass more parameters.

### Filling a form

[](#filling-a-form)

ParamTypeDefaultDescription$dataobjectarraynull```
// Examples

// With initial data using a Model instance
$user = User::find(1);
{!! Form::open()->fill($user) !!}

// With initial array data
$user = ['name' => 'Jesus', 'age' => 33];
{!! Form::open()->fill($user) !!}
```

### Url

[](#url)

Use in anchors and forms openings

ParamTypeDefaultDescription$urlstringnullUrl```
// Example
{!! Form::anchor("Link via url")->url('foo/bar') !!}
```

### Route

[](#route)

Use in anchors and forms openings

ParamTypeDefaultDescription$routestringnullRoute name```
// Example
{!! Form::anchor("Link via route")->route('home') !!}
```

### Checked

[](#checked)

Set the checkbox/radio checked status

ParamTypeDefaultDescription$checkedbooleantrueChecked status```
// Examples

// Using readonly field
{!! Form::checkbox('agree', 'I agree')->checked() !!}

// You can use FALSE to turn off checked status
{!! Form::checkbox('agree', 'I agree')->checked(false) !!}
```

### Inline

[](#inline)

Set the checkbox/radio checked status

```
// Examples
{!! Form::radio('orange', 'Orange')->inline() !!}

{!! Form::checkbox('orange', 'Orange')->inline() !!}
```

### Placeholder

[](#placeholder)

ParamTypeDefaultDescription$placeholderstringnullPlaceholder text```
// Example
{!! Form::text('name', 'Name')->placeholder('Input placeholder') !!}
```

### Select Multiple

[](#select-multiple)

```
// Example
{!! Form::select('city', 'Choose your city', [1 => 'Gotham City', 2 => 'Springfield'])->multiple() !!}
```

### Locale

[](#locale)

Using locale, the package will look for a resources/lang/{CURRENT\_LANG}/forms/user.php language file and uses labels and help texts as keys for replace texts

```
// Example
{!! Form::open()->locale('forms.user') !!}

{!! Form::text('name', 'labels.name') !!}
```

### Help Text

[](#help-text)

ParamTypeDefaultDescription$textstringnullHelp text```
// Examples

// Conventional way
{!! Form::text('name', 'Name')->help('Help text here') !!}

// Using locale
{!! Form::text('name', 'Name')->help('help.text') !!}
```

### Custom attributes

[](#custom-attributes)

ParamTypeDefaultDescription$attrsarray\[\]Custom input attributes```
// Example
{!! Form::text('name', 'Name')->attrs(['data-foo' => 'bar', 'rel'=> 'baz']) !!}
```

### Readonly

[](#readonly)

ParamTypeDefaultDescription$statusbooleantrueRead only status```
// Examples

// Using readonly field
{!! Form::text('name', 'Name')->readonly() !!}

// You can use FALSE to turn off readonly status
{!! Form::text('name', 'Name')->readonly(false) !!}
```

### Disabled

[](#disabled)

ParamTypeDefaultDescription$statusbooleantrueDisabled status```
// Examples

// Disabling a field
{!! Form::text('name', 'Name')->disabled() !!}

// You can use FALSE to turn off disabled status
{!! Form::text('name', 'Name')->disabled(false) !!}
```

### Full

[](#full)

ParamTypeDefaultDescription$statusbooleantrueDisabled status```
// Examples

// Field and button at full size
{!! Form::text('name', 'Name')->full() !!}

{!! Form::button('name')->full() !!}

// You can use FALSE to turn off block status
{!! Form::text('name', 'Name')->full(false) !!}
```

### Icon

[](#icon)

ParamTypeDefaultDescription$iconstringnullUIKit icon name$flipbooleanfalseSide of icon$clickablebooleanfalseIcon inside an anchor(only works with inputs)$attrsarrayemptyAttributes```
// Examples

{!! Form::text('email', 'Email')->icon('mail') !!}

{!! Form::button('send')->icon('check', true) !!}
```

### Id

[](#id)

ParamTypeDefaultDescription$idstringnullId field```
// Example
{!! Form::text('name', 'Name')->id('user-name') !!}
```

### Id prefix

[](#id-prefix)

All ids will prepend by this prefix like: prefix-myid

ParamTypeDefaultDescription$prefixstringnullId prefix```
// Example
{!!Form::open()->prefix('register')!!}
```

### Multipart

[](#multipart)

ParamTypeDefaultDescription$multipartbooleantrueMultipart flag```
// Examples
{!! Form::open()->multipart() !!}

// You can use FALSE to turn off multipart
{!! Form::open()->multipart(false) !!}
```

### Method

[](#method)

ParamTypeDefaultDescription$methodstringnullHTTP method```
// Examples
{!! Form::open()->method('get') !!}
{!! Form::open()->method('post') !!}
{!! Form::open()->method('put') !!}
{!! Form::open()->method('patch') !!}
{!! Form::open()->method('delete') !!}
```

### Color

[](#color)

ParamTypeDefaultDescription$colorstringnullColor name```
// Examples
{!! Form::button("Do something")->color('primary') !!}

{!! Form::button("Do something")->color('secondary') !!}
```

### Size

[](#size)

ParamTypeDefaultDescription$sizestringnullSize name```
// Examples
{!! Form::button("Do something")->size('small') !!}

{!! Form::button("Do something")->size('large') !!}
```

### Type

[](#type)

ParamTypeDefaultDescription$typestringnullType field```
// Examples

// Password field
{!! Form::text('password', 'Your password')->type('password') !!}

// Number field
{!! Form::text('age', 'Your age')->type('number') !!}

// Email field
{!! Form::text('email', 'Your email')->type('email') !!}
```

### Name

[](#name)

ParamTypeDefaultDescription$namestringnullInput name```
// Examples
{!! Form::text('text')->name('name') !!}
```

### Label

[](#label)

ParamTypeDefaultDescription$labelstringnullInput label```
// Examples
{!! Form::text('age')->label('Your age') !!}
```

### Default Value

[](#default-value)

ParamTypeDefaultDescription$valuemixednullInput value```
// Example
{!! Form::text('name', 'Your name')->value('Maria') !!}
```

### Render

[](#render)

ParamTypeDefaultDescription$renderstringnullRender name```
// Examples

// Number field
{!! Form::render('text')->name('age')->label('Your age') !!}
```

###  Health Score

22

—

LowBetter than 22% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity13

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity40

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/989c59aeceee617d6d7c016f1e62f13f11cc2a5d90b5dfc7d1544ccf53a47e1b?d=identicon)[eduardosaveiga](/maintainers/eduardosaveiga)

---

Top Contributors

[![eduardosaveiga](https://avatars.githubusercontent.com/u/14116485?v=4)](https://github.com/eduardosaveiga "eduardosaveiga (7 commits)")

---

Tags

form-builderlaravelphpuikit3

### Embed Badge

![Health badge](/badges/eduardosaveiga-laravel-uikit-3-forms/health.svg)

```
[![Health](https://phpackages.com/badges/eduardosaveiga-laravel-uikit-3-forms/health.svg)](https://phpackages.com/packages/eduardosaveiga-laravel-uikit-3-forms)
```

###  Alternatives

[mustache/mustache

A Mustache implementation in PHP.

3.3k44.6M291](/packages/mustache-mustache)[roots/acorn

Framework for Roots WordPress projects built with Laravel components.

9682.1M97](/packages/roots-acorn)[whitecube/nova-flexible-content

Flexible Content &amp; Repeater Fields for Laravel Nova.

8053.0M25](/packages/whitecube-nova-flexible-content)[mopa/bootstrap-bundle

Easy integration of twitters bootstrap into symfony2

7042.9M33](/packages/mopa-bootstrap-bundle)[limenius/react-bundle

Client and Server-side react rendering in a Symfony Bundle

3871.2M](/packages/limenius-react-bundle)[nicmart/string-template

StringTemplate is a very simple string template engine for php. I've written it to have a thing like sprintf, but with named and nested substutions.

2101.7M30](/packages/nicmart-string-template)

PHPackages © 2026

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