You are here

public function CharsValidator::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/CharsValidator.php, line 22

Class

CharsValidator
Fapi Validation Plugin for Character 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);
  for ($i = 0; $i < $size; $i++) {
    $current = substr($value, $i, 1);
    if (!in_array($current, $params)) {
      return FALSE;
    }
  }
  return TRUE;
}