You are here

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\FapiValidationValidator

Code

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];
  }
}