Sorted(string $direction)
Validates whether the input is sorted in a certain order or not.
v::sorted ('ASC ' )->assert ([1 , 2 , 3 ]);
// Validation passes successfully
v::sorted ('ASC ' )->assert ('ABC ' );
// Validation passes successfully
v::sorted ('DESC ' )->assert ([3 , 2 , 1 ]);
// Validation passes successfully
v::sorted ('ASC ' )->assert ([]);
// Validation passes successfully
v::sorted ('ASC ' )->assert ([1 ]);
// Validation passes successfully
You can also combine After to create custom validations:
v::after (
fn (array $ input ): array => array_column ($ input , 'key ' ),
v::sorted ('ASC ' )
)->assert ([
['key ' => 1 ],
['key ' => 5 ],
['key ' => 9 ],
]);
// Validation passes successfully
v::after ('strval ' , v::sorted ('DESC ' ))->assert (4321 );
// Validation passes successfully
v::after ('iterator_to_array ' , v::sorted ('ASC ' ))->assert (new ArrayIterator ([1 , 7 , 4 ]));
// → `[1, 7, 4]` must be sorted in ascending order
Sorted::TEMPLATE_ASCENDING
Mode
Template
default
{{subject}} must be sorted in ascending order
inverted
{{subject}} must not be sorted in ascending order
Sorted::TEMPLATE_DESCENDING
Mode
Template
default
{{subject}} must be sorted in descending order
inverted
{{subject}} must not be sorted in descending order
Placeholder
Description
subject
The validated input or the custom validator name (if specified).
Version
Description
2.0.0
Add support for strings
2.0.0
Do not use array keys to sort
2.0.0
Use sorting direction instead of boolean value
2.0.0
Do not accept callback in the constructor
1.1.1
Created