ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
ILIAS\Validation\Constraints\IsArrayOf Class Reference
+ Inheritance diagram for ILIAS\Validation\Constraints\IsArrayOf:
+ Collaboration diagram for ILIAS\Validation\Constraints\IsArrayOf:

Public Member Functions

 __construct (Data\Factory $data_factory, Constraint $on_element, \ilLanguage $lng)
 IsArrayOf constructor. More...
 
- Public Member Functions inherited from ILIAS\Validation\Constraints\Custom
 __construct (callable $is_ok, $error, Data\Factory $data_factory, \ilLanguage $lng)
 If $error is a callable it needs to take two parameters: More...
 
 check ($value)
 Checks the provided value.Should not throw if accepts($value).
Exceptions
More...
 
 accepts ($value)
 Tells if the provided value complies.
Parameters
mixed$value
Returns
bool
More...
 
 problemWith ($value)
 Tells what the problem with the provided value is.Should return null if accepts($value).
Parameters
mixed$value
Returns
string|null
More...
 
 restrict (Result $result)
 Restricts a Result.Must do nothing with the result if $result->isError(). Must replace the result with an error according to problemWith() if !accepts($result->value()).
Parameters
Result$result
Returns
Result
More...
 
 withProblemBuilder (callable $builder)
 Get a constraint like this one with a builder for a custom error message.problemWith() must return an error message according to the new builder for the new constraint.The builder needs to be callable that takes two parameters:
Parameters
callable$builder
Returns
Constraint
More...
 
 getErrorMessage ($value)
 Get the problem message. More...
 

Additional Inherited Members

- Protected Member Functions inherited from ILIAS\Validation\Constraints\Custom
 getLngClosure ()
 Get the closure to be passed to the error-function that does i18n and sprintf. More...
 
- Protected Attributes inherited from ILIAS\Validation\Constraints\Custom
 $data_factory
 
 $lng
 
 $is_ok
 
 $error
 

Detailed Description

Definition at line 16 of file IsArrayOf.php.

Constructor & Destructor Documentation

◆ __construct()

ILIAS\Validation\Constraints\IsArrayOf::__construct ( Data\Factory  $data_factory,
Constraint  $on_element,
\ilLanguage  $lng 
)

IsArrayOf constructor.

Parameters
Data\Factory$data_factory
Constraint$on_element

Definition at line 25 of file IsArrayOf.php.

References ILIAS\Validation\Constraints\Custom\$data_factory, ILIAS\Validation\Constraints\Custom\$lng, $txt, ILIAS\Validation\Constraint\accepts(), and ILIAS\Validation\Constraint\problemWith().

26  {
27  parent::__construct(
28  function ($value) use ($on_element) {
29  if (!is_array($value)) {
30  return false;
31  }
32  foreach ($value as $item) {
33  if (!$on_element->accepts($item)) {
34  return false;
35  }
36  }
37 
38  return true;
39  },
40  function ($txt, $value) use ($on_element) {
41  if (!is_array($value)) {
42  return $txt("not_an_array", gettype($value));
43  }
44  $sub_problems = [];
45  foreach ($value as $item) {
46  $sub_problem = $on_element->problemWith($item);
47  if ($sub_problem !== null) {
48  $sub_problems[] = $sub_problem;
49  }
50  }
51  return $txt("not_an_array_of", implode(" ", $sub_problems));
52  },
54  $lng
55  );
56  }
$txt
Definition: error.php:11
+ Here is the call graph for this function:

The documentation for this class was generated from the following file: