Hace ya un tiempo liberamos un módulo en Drupal.org para usar un nuevo elemento en nuestros formularios. Se trata del módulo RUT, el cual también incluye un submódulo para integrarlo con Field, permitiendo crear el campo RUT en cualquier entidad (nodos, términos, usuarios, etc...) quedando, automáticamente, integrado con Views y otros módulos.
La idea principal de este módulo es poder olvidarse de la validación, tanto en el servidor como en el cliente, ya que este elemento lo hará por defecto. Para validar en el lado del cliente se utiliza jQuery Rut Plugin (Muy bueno).
¿Como usar el elemento RUT?
Simplemente, en un formulario personalizado, podemos hacer lo siguiente:
<?phpfunction MODULO_client_form($form, &$form_state) { $form['nombre'] = array( '#type' => 'textfield', '#title' => t('Name'), '#required' => TRUE, ); // Creamos el campo para el rut usando el elemento rut_field $form['rut'] = array( '#type' => 'rut_field', '#title' => t('RUT'), '#required' => TRUE, // Queremos validar en el lado del cliente '#validate_js' => TRUE // Queremos imprimir el siguiente mensaje cuando haya error de validación '#message_js' => 'Ocurrio un error!', ); ...}?>
Una vez que envíes el formulario, simplemente recibirás el Rut, normalmente con formato (con punto y guión), si deseas separar el dígito verificador puedes usar la función rut_separate_rut(). Ej:
<?php ... $rut_con_formato = "13.735.138-2"; list($rut, $dv) = rut_separate_rut($rut_con_formato); // $rut = 13735138 // $dv = 2?>
RUT Field
Instalando el módulo RUT Field se habilitará el nuevo campo para agregarlo en cualquier entidad. El valor se registrará en la base de datos en dos columnas, el rut y el dígito verificador.
RUT en Webform
El módulo Webform es una solución de Drupal para generar encuestas en nodos y que, lamentablemente, no se integra con el API de Fields, en cambio cuenta con su propio sistema de campos. Es por ello que se ha desarrollado el módulo Webform Rut, el cual se encarga de habilitar el campo Rut en este sistema.
Últimos Comentarios