aminevsky / laravel-validation-rule-formatter
A Formatter of Laravel Validation Rule
Installs: 2
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/aminevsky/laravel-validation-rule-formatter
Requires
- php: ^7.3
Requires (Dev)
- orchestra/testbench: ^6.0
- phpstan/phpstan: ^0.12.43
This package is not auto-updated.
Last update: 2022-10-21 15:41:29 UTC
README
A Formatter of Laravel Validation Rule
Requirements
- PHP ^7.3
- Laravel ^7.0 | ^8.0
Installation
composer require aminevsky/laravel-validation-rule-formatter
Features
This formats validation rules that are passed to Laravel's validator.
Classes and Methods
ValidationRuleFormatter
addRule()
Add a rule for specified attribute.
- Parameters
- Attribute
- (Required) String
- Attribute Name that the rule applies to
- Rule Name
- (Required) String
- Rule name (ex.
required,max)
- Rule Parameters
- (Optional) Mixed, Variable arguments
- Parameters for the rule
- Attribute
- Return value
- Self (
ValidationRuleFormatterinstance)
- Self (
format()
Return formatted rules.
- Parameters
- None
- Return value
- Array
- This can be passed to Laravel's validator
Example
Before
Without this library, you would write like this:
class TodoController extends Controller { const TITLE_MAX_LENGTH = 1000; public function store(Request $request) { $request->validate([ 'title' => ['required', 'max:' . self::TITLE_MAX_LENGTH], ]); // ... } }
After
With this library, you can write like this:
class TodoController extends Controller { const TITLE_MAX_LENGTH = 1000; public function store(Request $request) { // Add validation rules. $rules = ValidationRuleFormatter::addRule('title', 'required') ->addRule('title', 'max', self::TITLE_MAX_LENGTH) // Format rules. ->format(); // Pass formatted rules to default validator. $request->validate($rules); // ... } }