minkbear/laravel-jsvalidation

Validate forms transparently with Javascript reusing your Laravel Validation Rules, Messages, and FormRequest

v1.3.1 2016-01-04 00:23 UTC

README

Latest Version Build Status Code Coverage Quality Score Total Downloads

Laravel Javascript Validation package allows to reuse your Laravel Validation Rules, Messages, FormRequest and Validators to validate forms automatically in client side without need to write any Javascript code or use HTML Builder Class.

You can validate forms automatically referencing it to your defined validations. The messages are loaded from your validations and translated according your Localization preferences.

Feature overview

Supported Rules

Almost all Validation Rules provided by Laravel and other packages are supported.

Almost are validated in client-side using Javascript, but in some cases, the validation should to be done in server-side via AJAX:

Unsupported Rules and Features

Some Laravel features and validations are not implemented yet. Pull Requests are welcome!

  • Validating Arrays using wildcards ['person.*.email' => 'email|unique:users'] is not supported. #139 (supported in master branch)
  • Distinct rule
  • Present rule
  • InArray rule
  • DateFormat rule don't support timezone format

Getting started

The easiest way to create Javascript validations is using Laravel Form Request Validation.

Installation

Follow the Installation Guide to install the package. The default config shlould work out-of-box

Validating Form Request

Call JsValidator Facade in your view to validate any FormRequest

 <form>
    <!-- ... My form stuff ... -->
 <form>

 <!-- Javascript Requirements -->
 <script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
 <script src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.1/js/bootstrap.min.js"></script>

 <!-- Laravel Javascript Validation -->
 <script type="text/javascript" src="{{ asset('vendor/jsvalidation/js/jsvalidation.js')}}"></script>

{!! JsValidator::formRequest('App\Http\Requests\MyFormRequest') !!}

Take a look to Basic Usage or Examples to get more information.

Documentation

To get more info refer to Project Wiki

License

The MIT License (MIT). Please see License File for more information.