padosoft/laravel-validable
Trait to activate validation when saving Eloquent Model
This package provides a trait that will automatic handlind upload when saving/updating/deleting any Eloquent model with upload form request.
##Requires
- php: >=7.0.0
- illuminate/database: ^5.0|^6.0|^7.0|^8.0|^9.0|^10.0
- illuminate/support: ^5.0|^6.0|^7.0|^8.0|^9.0|^10.0
- illuminate/validation: ^5.0|^6.0|^7.0|^8.0|^9.0|^10.0
Installation
You can install the package via composer:
$ composer require padosoft/laravel-validable
Usage
Your Eloquent models should use the Padosoft\Laravel\Validable\Validable trait.
You must define protected static $rules array of rules in your model.
You can define protected static $messages array of custom messages in your model.
Here's an example of how to implement the trait;
<?php
namespace App;
use Padosoft\Laravel\Validable\Validable;
use Illuminate\Database\Eloquent\Model;
class YourEloquentModel extends Model
{
use Validable;
protected static $rules = [
'name'=>'required|max:10',
'order'=>'sometimes|integer|max:10',
];
protected static $messages = [
'name.required'=>'obbligatorio'
];
}
You can write specific validation for only update method
class YourEloquentModel extends Model
{
use Validable;
protected static $rules = [
'name'=>'required|max:10|unique:table,field',
'order'=>'sometimes|integer|max:10',
];
protected static $updating_rules = [
'name'=>'required|max:10|unique:table,field,[id]',
'order'=>'sometimes|integer|max:10',
];
protected static $messages = [
'name.required'=>'obbligatorio'
];
}
Note: [id] will be overwritten at runtime with the model property.
You can check if your model is saved like this:
$model = new YourEloquentModel;
$model->name='test';
if (!$model->save()){
$erros=$model->getErrors();
}
You can get a model validation rules:
$rules=YourEloquentModel::getRules();
For all method available see the Validable Trait.
Change log
Please see CHANGELOG for more information what has changed recently.
Testing
$ composer test
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security related issues, please email instead of using the issue tracker.
Credits
Inspired by https://github.com/JeffreyWay/Laravel-Model-Validation
About Padosoft
Padosoft (https://www.padosoft.com) is a software house based in Florence, Italy. Specialized in E-commerce and web sites.
License
The MIT License (MIT). Please see License File for more information.
Related Packages
Laravel Package to interact with Illuminate Request and Files Upload.
Laravel Laravel Package for testing Schema.org markup or other structured data f...