respect-validation/docs/rules/Sorted.md
Henrique Moody be72a54845
Add templates to each rule documentation
They only know what message a rule produces when they try running it.
Including the messages in the documentation will make it easier for
people to know what to expect.

There are a couple of undocumented placeholders, but I can live with
that for now.
2024-12-06 00:21:47 +01:00

2.2 KiB

Sorted

  • Sorted(string $direction)

Validates whether the input is sorted in a certain order or not.

v::sorted('ASC')->isValid([1, 2, 3]); // true
v::sorted('ASC')->isValid('ABC'); // true
v::sorted('DESC')->isValid([3, 2, 1]); // true
v::sorted('ASC')->isValid([]); // true
v::sorted('ASC')->isValid([1]); // true

You can also combine Call to create custom validations:

v::call(
        static function (array $input): array {
            return array_column($input, 'key');
        },
        v::sorted('ASC')
    )->isValid([
        ['key' => 1],
        ['key' => 5],
        ['key' => 9],
    ]); // true

v::call('strval', v::sorted('DESC'))->isValid(4321); // true

v::call('iterator_to_array', v::sorted())->isValid(new ArrayIterator([1, 7, 4])); // false

Templates

Sorted::TEMPLATE_ASCENDING

Mode Template
default {{name}} must be sorted in ascending order
inverted {{name}} must not be sorted in ascending order

Sorted::TEMPLATE_DESCENDING

Mode Template
default {{name}} must be sorted in descending order
inverted {{name}} must not be sorted in descending order

Template placeholders

Placeholder Description
name The validated input or the custom validator name (if specified).

Categorization

  • Arrays
  • Strings

Changelog

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

See also: