Don't validate on empty string.

This commit is contained in:
James Cole
2025-10-10 20:54:51 +02:00
parent 9d1fb2cd6a
commit ed2e0e86dc

View File

@@ -32,19 +32,24 @@ class IsValidSortInstruction implements ValidationRule
public function validate(string $attribute, mixed $value, Closure $fail): void public function validate(string $attribute, mixed $value, Closure $fail): void
{ {
$shortClass = str_replace('FireflyIII\Models\\', '', $this->class); $shortClass = str_replace('FireflyIII\Models\\', '', $this->class);
if (!is_string($value)) { if (!is_string($value)) {
$fail('validation.invalid_sort_instruction')->translate(['object' => $shortClass]); $fail('validation.invalid_sort_instruction')->translate(['object' => $shortClass]);
return; return;
} }
if ('' === $value) {
// don't validate.
return;
}
$validParameters = config(sprintf('firefly.allowed_sort_parameters.%s', $shortClass)); $validParameters = config(sprintf('firefly.allowed_sort_parameters.%s', $shortClass));
if (!is_array($validParameters)) { if (!is_array($validParameters)) {
$fail('validation.no_sort_instructions')->translate(['object' => $shortClass]); $fail('validation.no_sort_instructions')->translate(['object' => $shortClass]);
return; return;
} }
$parts = explode(',', $value); $parts = explode(',', $value);
foreach ($parts as $i => $part) { foreach ($parts as $i => $part) {
$part = trim($part); $part = trim($part);
if (strlen($part) < 2) { if (strlen($part) < 2) {