function br_tax_number_fields_field_widget_form in Brazilian IDs 7
Implements hook_field_widget_form().
File
- ./
br_tax_number_fields.module, line 92 - Adds Brazilian Tax Number field widgets to text field type at the Field UI and creates new form element types for use in the Form API.
Code
function br_tax_number_fields_field_widget_form(&$form, &$form_state, $field, $instance, $langcode, $items, $delta, $element) {
$value = isset($items[$delta]['value']) ? $items[$delta]['value'] : '';
$maxlength = 18;
$size = 18;
switch ($instance['widget']['type']) {
case 'number_cnpj':
$callback_validate = 'br_tax_number_fields_cnpj_validate';
break;
case 'number_cpf':
$maxlength = 14;
$size = 14;
$callback_validate = 'br_tax_number_fields_cpf_validate';
break;
case 'number_cnpj_cpf':
$callback_validate = 'br_tax_number_fields_cnpj_cpf_validate';
break;
}
$element += array(
'#type' => 'textfield',
'#default_value' => $value,
'#maxlength' => $maxlength,
'#size' => $size,
'#element_validate' => array(
$callback_validate,
),
);
return array(
'value' => $element,
);
}