26 'minimum' => [0,
'Minimum length for a valid string',
'integer'],
27 'maximum' => [PHP_INT_MAX,
'Maximum length for a valid string',
'integer']
40 if ($this->options[
'maximum'] < $this->options[
'minimum']) {
41 throw new \TYPO3\CMS\Extbase\Validation\Exception\InvalidValidationOptionsException(
'The \'maximum\' is shorter than the \'minimum\' in the StringLengthValidator.', 1238107096);
44 if (is_object($value)) {
45 if (!method_exists($value,
'__toString')) {
46 $this->
addError(
'The given object could not be converted to a string.', 1238110957);
49 } elseif (!is_string($value)) {
50 $this->
addError(
'The given value was not a valid string.', 1269883975);
54 $stringLength = mb_strlen($value,
'utf-8');
56 if ($stringLength < $this->options[
'minimum']) {
59 if ($stringLength > $this->options[
'maximum']) {
63 if ($isValid ===
false) {
64 if ($this->options[
'minimum'] > 0 && $this->options[
'maximum'] < PHP_INT_MAX) {
67 'validator.stringlength.between',
70 $this->options[
'minimum'],
71 $this->options[
'maximum']
75 [$this->options[
'minimum'], $this->options[
'maximum']]
77 } elseif ($this->options[
'minimum'] > 0) {
80 'validator.stringlength.less',
83 $this->options[
'minimum']
87 [$this->options[
'minimum']]
92 'validator.stringlength.exceed',
95 $this->options[
'maximum']
99 [$this->options[
'maximum']]