i80586/laravel-form-fields

Laravel form fields generator - for admin panels

Installs: 1 085

Dependents: 0

Suggesters: 0

Security: 0

Stars: 4

Watchers: 1

Forks: 1

Open Issues: 0

pkg:composer/i80586/laravel-form-fields

v2.1.2 2026-02-27 11:49 UTC

This package is auto-updated.

Last update: 2026-02-27 11:52:58 UTC


README

A fluent form field generator for Laravel

Latest Version Build Status Downloads

🚀 About

laravel-form-fields provides a fluent, expressive API for generating form fields in Laravel.

Version 2 introduces a builder-style syntax, replacing array-based configuration with readable method chaining.

📋 Requirements

  • PHP >= 8.3
  • Laravel >= 10

📦 Installation

composer require i80586/laravel-form-fields

Basic usage

{!! form()->input('name') !!}

Output:

<label for="name">Name</label>
<input type="text" name="name" id="name" class="form-control">

Setting default value:

{!! form()->input('name', 'John') !!}

This will output:

<label for="name">Name</label>
<input type="text" name="name" id="name" class="form-control" value="John">

Change the text of the default label

{!! form()->input('name')->label('Your name') !!}

This will output:

<label for="name">Your name</label>
<input type="text" name="name" id="name" class="form-control">

Multiple CSS classes

You can pass multiple CSS classes in a single call:

{!! form()
    ->input('name', 'John')
    ->label(false)
    ->required()
    ->class('form-control', 'name-select')
!!}

or

{!! form()
    ->input('name', 'John')
    ->label(false)
    ->required()
    ->class(['form-control', 'name-select'])
!!}

This will output:

<input type="text" name="name" id="name" value="John" class="form-control name-select" required>

Select

{!! form()->select('city', 1, [1 => 'Baku'], 'Choose city') !!}

This will output:

<label for="city">City</label>
<select name="city" id="city" class="form-select">
<option value>Choose city</option>    
<option value="1" selected>Baku</option>    
</select>

Old input support

Form fields automatically use Laravel old() values after validation errors.

You do not need to manually call old(); the previous value will be inserted automatically.

Use the following variant:

{!! form()->input('email', 'some@email.com') !!}

instead of:

❌

{!! form()->input('email', old('email', 'some@email.com')) !!}

Philosophy

  • Fluent API

  • Explicit over magic

  • Laravel-native behavior

  • Clean and predictable HTML output

License

MIT License