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).
composer require livingstoneco/minimum-spacesLaravel will register the service provider automatically (package discovery).
use MinimumSpaces\Rules\MinimumSpaces;
$request->validate([
'message' => ['required', 'string', new MinimumSpaces(2)],
]);$request->validate([
'message' => ['required', 'string', 'min_spaces:2'],
]);The numeric parameter is the minimum number of spaces required.
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.',
]);Clone the package and run:
composer install
composer testMIT