Make ajax validation with Laravel Requests for forms with bootstrap
lrgt/laravel-form-ajax-validation is a Laravel package for make ajax validation with laravel requests for forms with bootstrap.
It currently has 43 GitHub stars and 5.702 downloads on Packagist (latest version 5.1).
Install it with composer require lrgt/laravel-form-ajax-validation.
Discover more Laravel packages by lrgt
or browse all Laravel packages to compare alternatives.
Last updated
Make ajax validation with Laravel Requests for forms with bootstrap
See the full documentation.
O la Documentación en español
##Installation
Add to the composer of your project
composer require lrgt/laravel-form-ajax-validation
Or edit your composer.json
"require": {
"lrgt/laravel-form-ajax-validation": "dev-master"
},
Open the file config/app.php
"providers": {
...
'Lrgt\LaravelFormAjaxValidation\LaravelFormAjaxValidationServiceProvider',
...
},
You need to publish the necessary views for create the scripts of jQuery
$ php artisan vendor:publish
Create a request
$ php artisan make:Request TestRequest
Add the rules
public function rules()
{
return [
'name'=>'required|max:5',
'description'=>'required',
'tags'=>'required|min:3',
];
}
You also can add to the request custom error messages and change de attributes name
public function messages()
{
return [
'name.required'=>'Do not forget your name',
'description.required'=>'You need the description',
'name.max'=>'Your name have less than 5 letters?',
];
}
public function attributes(){
return [
'name'=>'Your name',
'tags'=>'The tags',
];
}
Create your form
<form method="post" action="<?=url('save_form')?>" id="myform">
<input type="hidden" name="_token" value="<?=csrf_token()?>">
<div class="form-group">
<label for="nombre">Name</label>
<input type="text" name="name" id="name" class="form-control">
</div>
<div class="form-group">
<label for="descripcion">Description</label>
<textarea type="text" name="description" id="description" rows="5" class="form-control">
</textarea>
</div>
<div class="form-group">
<label for="tags">Tags</label>
<input type="text" name="tags" id="tags" class="form-control">
</div>
<input type="submit" value="Save" class="btn btn-success">
</form>
Add the jQuery and include the view that have the ajax script
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
@include('vendor.lrgt.ajax_script', ['form' => '#myform',
'request'=>'App/Http/Requests/TestRequest','on_start'=>true])
You need jQuery 1.11.2 or higher
Where #myform is the id of your form and request is the namespace of your Request. Onstart is just if you want that the validation work from the load of the page. Note: Put the namespace of the request separate with
/

The laravel-form-ajax-validation library is open-sourced software licensed under the MIT license