You are here

public static function RgElement::valueCallback in Brazilian IDs 8

Determines how user input is mapped to an element's #value property.

Parameters

array $element: An associative array containing the properties of the element.

mixed $input: The incoming input to populate the form element. If this is FALSE, the element's default value should be returned.

\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.

Return value

mixed The value to assign to the element.

Overrides FormElement::valueCallback

File

src/Element/RgElement.php, line 70

Class

RgElement
Plugin annotation @FormElement("brazilian_ids_rg");

Namespace

Drupal\brazilian_ids\Element

Code

public static function valueCallback(&$element, $input, FormStateInterface $form_state) {
  $value = $input === FALSE ? $element['#default_value'] : $input['rg_fields'];
  if (isset($value['number'])) {
    $value['number'] = $element['#clean_number'] ? \Drupal::service('brazilian_ids')
      ->clean($value['number']) : str_replace(' ', '', $value['number']);
  }
  if (isset($value['agency'])) {
    $value['agency'] = trim($value['agency']);
  }
  return $value;
}