livingstoneco / minimum-spaces
Laravel validation rule requiring a minimum number of spaces in a field
1.0
2026-05-20 17:30 UTC
Requires
- php: ^8.2
- illuminate/contracts: ^11.0|^12.0
- illuminate/support: ^11.0|^12.0
- illuminate/validation: ^11.0|^12.0
Requires (Dev)
- orchestra/testbench: ^9.4|^10.0
- phpunit/phpunit: ^11.0
README
Validation for Laravel 11+ that requires a field to contain at least a given number of space characters (U+0020).
The default validation message is:
We couldn't deliver your message. Please try again with a little more detail.
You can override it per rule or when calling the validator (see below).
Installation
composer require livingstoneco/minimum-spaces
Laravel will register the service provider automatically (package discovery).
Usage
Rule object (recommended)
use MinimumSpaces\Rules\MinimumSpaces; $request->validate([ 'message' => ['required', 'string', new MinimumSpaces(2)], ]);
String rule alias
$request->validate([ 'message' => ['required', 'string', 'min_spaces:2'], ]);
The numeric parameter is the minimum number of spaces required.
Custom error message
Rule object — pass a second argument:
new MinimumSpaces(2, 'My custom error message.')
String rule or any validator — pass a messages array (attribute + snake-case rule name):
$request->validate( ['message' => ['required', 'string', 'min_spaces:2']], ['message.min_spaces' => 'Please add more detail before sending.'], ); // Or with Validator::make / FormRequest::validateResolved patterns: Validator::make($data, $rules, [ 'message.min_spaces' => 'Please add more detail before sending.', ]);
Testing
Clone the package and run:
composer install
composer test
License
MIT