public function LengthValidator::validate in Form API Validation 8.2
Execute validation.
Parameters
\Drupal\fapi_validation\Validator $validator: Validator.
array $element: Form Element.
\Drupal\Core\Form\FormStateInterface $form_state: Form State.
Return value
bool Check.
Overrides FapiValidationValidatorsInterface::validate
File
- src/
Plugin/ FapiValidationValidator/ LengthValidator.php, line 22
Class
- LengthValidator
- Fapi Validation Plugin for Lenght validation.
Namespace
Drupal\fapi_validation\Plugin\FapiValidationValidatorCode
public function validate(Validator $validator, array $element, FormStateInterface $form_state) {
$params = $validator
->getParams();
$value = $validator
->getValue();
$size = function_exists('mb_strlen') ? mb_strlen($value) : strlen($value);
if (count($params) == 1) {
return $size == (int) $params[0];
}
elseif (count($params) == 2) {
if ($params[1] == '*') {
return $size >= (int) $params[0];
}
return $size >= (int) $params[0] && $size <= (int) $params[1];
}
}