ahkmunna / composite-unique-validator
Laravel 5 composite unique validator
Requires
- php: ~5.6|~7.0
- illuminate/support: ~5.1
Requires (Dev)
- phpunit/phpunit: ~4.0||~5.0
- squizlabs/php_codesniffer: ^2.3
This package is auto-updated.
Last update: 2024-10-21 21:27:30 UTC
README
A muti-column unique validation extension with exception for Laravel 5.*
Installation
Install the package through Composer.
On you project directory run the composer require
command from the Terminal:
composer require ahkmunna/composite-unique-validator
Now add the service provider to your config/app.php
file.
Add this line to the providers
array:
ahkmunna\validator\CompositeUniqueValidatorServiceProvider::class
##Translations Run this command to move the translation file
php artisan vendor:publish
##Error messages Add this method in your validation request class
public function messages()
{
return [
'email.composite_unique' => trans('compositeUniqueValidator::compositeUniqueValidator.composite_unique'),
];
}
Now you're ready to start using the validator in your application.
###Use case 1 Like any laravel validation rules:
$rules = array(
'field_name' => 'composite_unique:table, unique_column_1, unique_column_2, unique_column_3',
);
###Use case 2 Pass a value or Check uniqueness with a field that not in current form request:
$rules = array(
'field_name' => 'composite_unique:table, unique_column_1, unique_column_2:4, unique_column_3',
);
unique_column_2 is passed with a value so the validator will ignore the form request value and compare the field with the given value, It is useful sometimes, you can give a field name that not exist in the form request but in the database table.
###Use case 3: Check uniqueness with exception:
$rules = array(
'field_name' => 'composite_unique:table, unique_column_1, unique_column_2, unique_column_3, 1',
);
The last parameter is a primary key of the table that row will be ignored. Useful for update operation.
####+++ Thank You +++