mirror of
https://github.com/Respect/Validation.git
synced 2026-03-15 06:45:44 +01:00
Introduces a Markdown linter for checking the Changelog format. "See Also" was transformed into a section to make it easier to handle it with the `Content` class. The "Related" linter was simplified to reflect that change too. An additional "alignment" parameter was added to markdown table generators, allowing the padding and headers to be explicitly marked with a specific left (-1), middle (0) or right(1) alignment. Existing files were fixed using the `fix` option after the changes.
2.5 KiB
2.5 KiB
Sorted
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 Call to create custom validations:
v::call(
fn (array $input): array => array_column($input, 'key'),
v::sorted('ASC')
)->assert([
['key' => 1],
['key' => 5],
['key' => 9],
]);
// Validation passes successfully
v::call('strval', v::sorted('DESC'))->assert(4321);
// Validation passes successfully
v::call('iterator_to_array', v::sorted('ASC'))->assert(new ArrayIterator([1, 7, 4]));
// → `[1, 7, 4]` must be sorted in ascending order
Templates
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 |
Template placeholders
| Placeholder | Description |
|---|---|
subject |
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 |