♥ Made with <love/> And I love <code/>
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 require theriddleofenigma/laravel-model-validation
Here user model is mentioned as an example. You could use this in any model you want.
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.. } }
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.
Laravel Model Validation is open-sourced software licensed under the MIT license.