
This is a package that provides a bunch of form components ready to use in your Laravel application and provides the best hanlding for frome validation errors.
Originally created for Livewire projects, but can be used in any Laravel project.
select uses the Selectize.js library to display a nice select
input with search and multiple selection.ckeditor uses
the CKEditor 5
library to display a nice WYSIWYG editor.Install the package via composer:
composer require smirltech/laravel-form
Add <x-form::scripts/> component to your layout:
....
<x-form::scripts/>
Here are some examples of how to use the components.
Use the x-form::input component to display a text input.
type attribute to set the input type.placeholder attribute to display a placeholder.required attribute to set the input as required.wire:model attribute to bind the input to a model attribute.name attribute to set the input name.label attribute to set the input label.
<x-form::input label="Nom" required wire:model="hotel.name" name="name"/>

use the x-form::select component to display a select input with options. you can pass the options as an array or a
collection, or enums.
multiple attribute to allow multiple selection.placeholder attribute to display a placeholder.'<!-- using model attribute -->
<x-form::select label="Ville" wire:model="city" :options="$cities"/>
<!-- using name -->
<x-form::select label="Ville" name="city" :options="$cities"/>
<!-- using foreach loop -->
<x-form::select label="Ville" name="city">
@foreach($cities as $city)
<option value="{{$city->value}}">{{$city->name}}</option>
@endforeach
</x-form::select>

Use the x-form::ckeditor component to display a WYSIWYG editor.
height attribute to set the editor height.value attribute to set the editor value.
<x-form::ckeditor
label="Description"
height="200"
name="description"
value="Lorem ipsum dolor sit amet."/>

<x-form::input.xlsx label="Fichier" name="file"/>

The package is still in development, so feel free to contribute.
The MIT License (MIT). Please see License File for more information.
How can I help you explore Laravel packages today?