Laravel model validation validates the data on model events. *Only for laravel applications.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/ISSUE_TEMPLATE
src
.gitignore
LICENSE
README.md
_config.yml
composer.json

README.md

♥ Made with <love/> And I love <code/>

Laravel Model Validation

Model validation - Validates the model data. *Only for laravel applications.

An easy validator option for your eloquent models. Also have flexibility for additional codes that might be executed on before and after validation.

Composer install

composer require theriddleofenigma/laravel-model-validation

Usage Examples

Here user model is mentioned as an example. You could use this in any model you want.

User.php model

use CodeDevPal\ValidatorTrait;
class User extends Model 
{
    use ValidatorTrait;

    /**
     * Boot method
     */
    public static function boot()
    {
        parent::boot();
        
        // Add this method for validating the current model on model saving event
        static::validateOnSaving();
    }

    /**
     * Validation rules to validate
     * 
     * @return array
     */
    public function validationRules()
    {
        return [
            'name' => 'required|max:10',
            'email' => 'required|email',
        ];
    }

    /**
     * Custom messages to replace the validation messages
     * 
     * @return array
     */
    public function validationMessages()
    {
        return [
            'name.required' => 'Name field is required.',
            'email.email' => 'The given email is in invalid format.',
        ];
    }

    /**
     * Custom attribute names to replace the validation attribute name
     * 
     * @return array
     */
    public function validationAttributes()
    {
        return [
            'name' => 'User Name'
        ];
    }
    
    /**
     * Code to be executed before the validation goes here
     */
    public function beforeValidation()
    {
        // Some code goes here..
    }
    
    /**
     * Code to be executed after the validation goes here
     */
    public function afterValidation()
    {
        // Some code goes here..
    }
}

Other options

You could mention the validation only for creating itself or on any model event just add $model->validate().

    /**
     * Boot method
     */
    public static function boot()
    {
        parent::boot();
        
        // You can mention like this for validating the model on custom events as your wish
        static::creating(function($model){
            $model->validate();
        });
        
        // Or you may an alias like `static::validateOnCreating()`.
    }

Refer the available methods in the validationTrait.

License

Laravel Model Validation is open-sourced software licensed under the MIT license.