Download the PHP package korridor/laravel-model-validation-rules without Composer
On this page you can find all versions of the php package korridor/laravel-model-validation-rules. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download korridor/laravel-model-validation-rules
More information about korridor/laravel-model-validation-rules
Files in korridor/laravel-model-validation-rules
Package laravel-model-validation-rules
Short Description A laravel validation rule that uses eloquent to validate if a model exists
License MIT
Homepage https://github.com/korridor/laravel-model-validation-rules
Informations about the package laravel-model-validation-rules
Laravel model validation rules
This package is an alternative to the Laravel built-in validation rules exists
and unique
.
It uses Eloquent models instead of directly querying the database.
Advantages
- The rule can be easily extended with the Eloquent builder. (scopes etc.)
- Soft deletes are working out of the box.
- Logic implemented into the models work in the validation as well. (multi tenancy system, etc.)
[!NOTE] Check out solidtime - The modern Open Source Time-Tracker at solidtime.io
Installation
You can install the package via composer with following command:
If you want to use this package with older Laravel/PHP version please install the 2.1.* version.
Requirements
This package is tested for the following Laravel and PHP versions:
- 10.* (PHP 8.1, 8.2, 8.3)
- 11.* (PHP 8.2, 8.3)
Usage examples
PostStoreRequest
PostUpdateRequest
Custom validation message
If you want to change the validation message for one specific case, you can use the withMessage(...)
function to add a custom validation message.
With withCustomTranslation(...)
you can set a custom translation key for the validation message.
As described in detail in the next example (Customize default validation message), it is possible to use :attribute
, :model
and :value
in the translation.
Customize default validation message
If you want to customize the translations of the default validation errors you can publish the translations
of the package to the resources/lang/vendor/modelValidationRules
folder.
You can use the following attributes in the validation message:
attribute
model
value
Example outputs would be:
A user with the id "2" does not exist.
A user with the id "2" already exists.
Contributing
I am open for suggestions and contributions. Just create an issue or a pull request.
Local docker environment
The docker
folder contains a local docker environment for development.
The docker workspace has composer and xdebug installed.
Testing
The composer test
command runs all tests with phpunit.
The composer test-coverage
command runs all tests with phpunit and creates a coverage report into the coverage
folder.
Codeformatting/Linting
The composer fix
command formats the code with php-cs-fixer.
The composer lint
command checks the code with phpcs.
Credits
The structure of the repository and the TestClass is inspired by the project laravel-validation-rules by spatie.
License
This package is licensed under the MIT License (MIT). Please see license file for more information.