ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
Select.php
Go to the documentation of this file.
1 <?php
2 
3 /* Copyright (c) 2017 Jesús López <lopez@leifos.com> Extended GPL, see docs/LICENSE */
4 
6 
8 use ILIAS\UI\Component as C;
9 use ILIAS\Validation\Factory as ValidationFactory;
10 use ILIAS\Transformation\Factory as TransformationFactory;
11 
15 class Select extends Input implements C\Input\Field\Select
16 {
17  protected $options;
18  protected $label;
19  protected $value;
20 
31  public function __construct(
32  DataFactory $data_factory,
33  ValidationFactory $validation_factory,
34  TransformationFactory $transformation_factory,
35  $label,
36  $options,
37  $byline
38  ) {
39  parent::__construct($data_factory, $validation_factory, $transformation_factory, $label, $byline);
40  $this->options = $options;
41  }
42 
46  public function getOptions()
47  {
48  return $this->options;
49  }
50 
54  protected function isClientSideValueOk($value)
55  {
56  return
57  in_array($value, array_keys($this->options)) || $value == "";
58  }
59 
63  protected function getConstraintForRequirement()
64  {
65  return $this->validation_factory->hasMinLength(1);
66  }
67 }
This describes commonalities between all inputs.
Definition: Input.php:30
This describes select field.
Definition: Select.php:10
__construct(DataFactory $data_factory, ValidationFactory $validation_factory, TransformationFactory $transformation_factory, $label, $options, $byline)
Select constructor.
Definition: Select.php:31
Factory for basic transformations.
Definition: Factory.php:11
Builds data types.
Definition: Factory.php:14