You are here

function masked_input_field_widget_form in Masked Input 7.2

Implements hook_field_widget_form().

File

./masked_input.module, line 144
Provides a form element, Field widget, and simple API for using the Masked Input jQuery plugin.

Code

function masked_input_field_widget_form(&$form, &$form_state, $field, $instance, $langcode, $items, $delta, $element) {
  $element['value'] = $element + array(
    '#type' => 'masked_input',
    '#default_value' => isset($items[$delta]['value']) ? $items[$delta]['value'] : NULL,
    '#size' => $instance['widget']['settings']['size'],
    '#mask' => $instance['widget']['settings']['mask'],
    '#placeholder' => $instance['widget']['settings']['placeholder'],
  );

  // Use the textarea html element for "text_long" field types.
  if ($field['type'] == 'text_long') {
    $element['value']['#theme'] = 'textarea';
  }

  // Clean input for field types that expect numeric values
  if (in_array($field['type'], array(
    'number_integer',
    'number_decimal',
    'number_float',
  ))) {
    $element['value']['#element_validate'][] = 'masked_input_validate_numeric';
  }
  return $element;
}