Validar campos de webform

Events happening in the community are now at Drupal community events on www.drupal.org.
dcom's picture

Buenos días, Buenas Tardes y Buenas Noche:

Hola comunidad, es la primera vez que posteo una duda en este foro y espero recibir ayuda por parte de la comunidad, El problema que presento es el siguiente:

Estoy realizando un proyecto en el cual implemente un formulario personalizado con el modulo webform, todo perfecto pero el cliente necesita realizar alguna validaciones en este formulario tales como que un campo de texto no escriban números ya que en ese campo debería llegar un Nombre y usuarios me escriben números y eso no es lo que se quiere y la otra cuestión es que no coincidan dos campos de fechas es decir Fecha de Entrada no sea igual a Fecha de Salida. He investigado y existe un modulo webform validator pero no he podido dar con la solución con este modulo. Bueno algo mas de información el proyecto esta realizado en Drupal7.

En espera de sus respuestas

Saludos a todos

David

Comments

Validation callback

jts86's picture

Normalmente esto debería ser posible con https://www.drupal.org/project/webform_validation, aunque ahora no estoy seguro de si esa validación que necesitas está disponible actualmente como parte del módulo.
Si no es así entonces tendrás que hacer tu propia implementación de la validación, lo cual es bastante sencillo. Utilizas un hook_form_alter donde alteres ese form que necesitas validar en particular. La alteración va a ser simplemente agregar un nuevo validation callback:

function hook_form_alter(&$form, &$form_state, $form_id) {
  if ($form_id == 'tu_form_id') { //Puedes controlar por form_id o por otra cosa si con los webforms esto fuera menos explícito
    $form['#validate'][] ='my_new_callback'; //Asignas un nuevo callback de validación al que se le preguntará cuando se haga submit al igual que a otros que ya deberían estar asignados
  }
}

Y luego vas a crearte ese validation callback que declaraste y validar lo que necesites:

function my_new_callback(&$form, &$form_state) {
  //Validar en función de los valores de $form_state['values']
}

Por supuesto esto es todo a memoria, chequea bien la nomenclatura de las funciones, etc...

Con webform_validation puedes

daneelcm's picture

Con webform_validation puedes usar "Regular expression" y ahi puedes implementar cualquiera de las que mencionas...

Por ejemplo creo que para implementar la entrada de solo letras seria: ^[a-Z]*$ o algo asi.

Aunque con webform_validation las validaciones se hacen en el servidor, tal vez te cuadre usar clientside_validation para hacer las validaciones antes de hacer submit.

Cuba

Group organizers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: