PluginProbe
WPIDE – File Manager & Code Editor / 3.5.9
WPIDE – File Manager & Code Editor v3.5.9
3.5.9 3.5.8 3.5.7 2.0.14 2.0.15 2.0.16 2.0.2 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.0.9 2.1 2.2 2.3 2.3.1 2.3.2 2.4.0 2.5 2.6 3.0 3.1 3.2 3.3 All 55 releases
wpide / vendor / rakit / validation / src / Rules / In.php

In.php in WPIDE – File Manager & Code Editor 3.5.9, at vendor/rakit/validation/src/Rules/In.php

62 lines 1.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Rakit\Validation\Rules;
4
5 use Rakit\Validation\Helper;
6 use Rakit\Validation\Rule;
7
8 class In extends Rule
9 {
10
11 /** @var string */
12 protected $message = "The :attribute only allows :allowed_values";
13
14 /** @var bool */
15 protected $strict = false;
16
17 /**
18 * Given $params and assign the $this->params
19 *
20 * @param array $params
21 * @return self
22 */
23 public function fillParameters(array $params): Rule
24 {
25 if (count($params) == 1 && is_array($params[0])) {
26 $params = $params[0];
27 }
28 $this->params['allowed_values'] = $params;
29 return $this;
30 }
31
32 /**
33 * Set strict value
34 *
35 * @param bool $strict
36 * @return void
37 */
38 public function strict(bool $strict = true)
39 {
40 $this->strict = $strict;
41 }
42
43 /**
44 * Check $value is existed
45 *
46 * @param mixed $value
47 * @return bool
48 */
49 public function check($value): bool
50 {
51 $this->requireParameters(['allowed_values']);
52
53 $allowedValues = $this->parameter('allowed_values');
54
55 $or = $this->validation ? $this->validation->getTranslation('or') : 'or';
56 $allowedValuesText = Helper::join(Helper::wraps($allowedValues, "'"), ', ', ", {$or} ");
57 $this->setParameterText('allowed_values', $allowedValuesText);
58
59 return in_array($value, $allowedValues, $this->strict);
60 }
61 }
62