1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-25 16:22:43 +01:00

Validate PhabricatorSearchTextField value not to be an array

Summary:
PhabricatorSearchTextField.php's parent class PhabricatorSearchField.php defines an (empty) `protected function validateControlValue($value)`.
Override this function in PhabricatorSearchTextField.php by disallowing arrays (as the only data type which cannot be casted into a text value).

Closes T15714

Test Plan: Apply D25518; then manually edit the code in `ManiphestTaskSearchEngine.php` by defining an array and passing that array to the Page Size text field via `id(new PhabricatorSearchTextField())->setDefaultValue($empty_array)`, then go to `/maniphest/query/advanced/` and see the error message.

Reviewers: O1 Blessed Committers, 20after4

Reviewed By: O1 Blessed Committers, 20after4

Subscribers: 20after4, tobiaswiese, valerio.bozzolan, Matthew, Cigaryno

Maniphest Tasks: T15714

Differential Revision: https://we.phorge.it/D25519
This commit is contained in:
Andre Klapper 2024-02-05 22:41:13 +01:00
parent 9c9fbc3d04
commit e3714c86a7

View file

@ -11,6 +11,15 @@ final class PhabricatorSearchTextField
return $request->getStr($key); return $request->getStr($key);
} }
protected function validateControlValue($value) {
if (!is_array($value)) {
return;
}
$this->addError(
pht('Invalid'),
pht('Text value for "%s" can not be parsed.', $this->getLabel()));
}
protected function newControl() { protected function newControl() {
return new AphrontFormTextControl(); return new AphrontFormTextControl();
} }