Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » Drupal »

Campos fechas de webform en drupal 6

Estas en el tema de Campos fechas de webform en drupal 6 en el foro de Drupal en Foros del Web. Buenas noches, de nuevo yo por aca... Esta vez con un problemilla de validación, tengo un formulario hecho en webform y tengo dos campos fecha, ...
  #1 (permalink)  
Antiguo 06/12/2010, 20:35
 
Fecha de Ingreso: enero-2009
Mensajes: 85
Antigüedad: 15 años, 10 meses
Puntos: 2
Campos fechas de webform en drupal 6

Buenas noches, de nuevo yo por aca...

Esta vez con un problemilla de validación, tengo un formulario hecho en webform y tengo dos campos fecha, fecha de sallida y fecha de regreso. En ambos estoy utilizando el calendario de jquery IU.

Lo que necesito validar, es que no suceda lo siguiente:

fecha de salida: 06/12/2010
fecha de regreso: 01/11/2009

serà posible validar estos dos campos de webform???

muchísimas gracias a todos por la colaboración que han tenido conmigo.

Saludos!
  #2 (permalink)  
Antiguo 07/12/2010, 03:32
Avatar de NUCKLEAR
Moderador radioactivo
 
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba-Argentina
Mensajes: 5.688
Antigüedad: 19 años, 1 mes
Puntos: 890
Respuesta: Campos fechas de webform en drupal 6

Que tipo de campo estas usando date o textfield?
Existe un modulo http://drupal.org/project/webform_validation Pero solo valida campos en concreto, no hace comparaciones hasta donde se.
Lo que puedes hacer es validarlo con javascript. Va a ser mas fácil ya que si no te tocara validar los campos con codigo.

Saludos.
__________________
Drupal Argentina
  #3 (permalink)  
Antiguo 07/12/2010, 10:57
Avatar de MarioAraque
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Valencia
Mensajes: 1.398
Antigüedad: 15 años, 2 meses
Puntos: 265
Respuesta: Campos fechas de webform en drupal 6

Para realizar validaciones con el modulo que acabas de menciona NUCKLEAR, hay que crearlas manualmente usando los hooks hook_webform_validation_validators() y hook_webform_validation_validate().

Que es lo que necesitas validar? porque de eso dependera lo que tengas que hacer. Igual yo te recomeindo usar esos hooks, no son dificiles de usar y te queda todo mucho mas profesional.

Saludos.
  #4 (permalink)  
Antiguo 07/12/2010, 11:17
Avatar de NUCKLEAR
Moderador radioactivo
 
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba-Argentina
Mensajes: 5.688
Antigüedad: 19 años, 1 mes
Puntos: 890
Respuesta: Campos fechas de webform en drupal 6

@MarioAraque: lo que quiere es validar dos campos fecha, comparando que la segunda fecha no sea menor o igual a la primera. Yo digo hacerlo con javascript en lo personal va a quedar mejor ya que lo podrias validar onsite y no esperar a enviar los datos procesar y devolver. En caso de ser extremadamente necesario la validación si usaria los hooks.
__________________
Drupal Argentina
  #5 (permalink)  
Antiguo 07/12/2010, 12:49
Avatar de MarioAraque
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Valencia
Mensajes: 1.398
Antigüedad: 15 años, 2 meses
Puntos: 265
Respuesta: Campos fechas de webform en drupal 6

Es que no existe un "caso extremadamente necesario" a la hora de validar datos.

No comparto lo que mencionas, a no ser que sea una aplicacion extremadamente cutre, los datos siempre se tienen que validar tanto del lado del cliente (con javascript), como del lado del servidor (con php, en este caso Drupal).
Yo entro desde un navegador, desactivo Javascript, y validacion violada!

Por eso me referia a solucion "mas profesional", pq si es un desarrollo para una empresa, en ningun momento se me ocurriria no validar del lado del servidor.

Saludos.
  #6 (permalink)  
Antiguo 08/12/2010, 10:53
 
Fecha de Ingreso: enero-2009
Mensajes: 85
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Campos fechas de webform en drupal 6

Buen día, muchas gracias por responder.

Yo ya tengo el módulo de valicación de webform y no me permite validar los campos de tipo fecha.

Por otro lado leyendo un poco los comentarios, me metí en la página de date.inc de webform y allí pude colocar la validación de que por defecto debe tomar la fecha actual del sistema con php, ya que no es posible que las fechas de salida y regreso sean anterior al día actual.

Lo que me faltaría en hasta este punto es enviarle al usuario un mensaje de error con la validación antes mencionada, y también la comparación entre las fechas de salida y regreso.

Creo que por el hook de webform se pueden agregar esas validaciones, no se si podré utilizar el cid del componente para hacer esas validaciones.

Cualquier cosa que encuentre volveré a postear, si tienen alguna idea bienvenida sea.

De nuevo, muchas gracias por todos sus comentarios.

Saludos!
  #7 (permalink)  
Antiguo 08/12/2010, 11:09
Avatar de MarioAraque
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Valencia
Mensajes: 1.398
Antigüedad: 15 años, 2 meses
Puntos: 265
Respuesta: Campos fechas de webform en drupal 6

Mmmm editaste un fichero del modulo?
Recorda que no es una practica recomendada hackear modulos, puesto que si llega a salir una actualizacion del mismo, podes llegar a sobrescribir todo, y perder toda la programacion que hayas añadido!!

Si ya lo hiciste asi, tendrias que ver como hace el modulo la gestion de errores en los otros casos, seguro que si no se cumple la condicion, llama a la funcion form_set_error, y le pasa el mensaje de error.
De todos modos, ahora que lo pienso bien, no te hace falta nisiquiera usar el modulo webform_validation, si tenes el hook que intercepta el momento de la validacion de datos, entonces solo tenes que hacer una condicion y preguntar si las fechas cumplen con tu validacion o no, y en caso negativo mandas el form_set_error y listo!

Saludos.

EDIT: El modulo webform_validation, ahora que veo, tiene un hook que te puede ayudar mucho a la hora de validar, no te hace falta hacer ninguna validacion nueva. Solo hacer la comprobacion. Te pego un pedazo del texto que hay en el readme.

Cita:
Additional hooks
-----------------
The hook hook_webform_validation($type, $op, $data) can be used to react on various webform_validation based actions.
* $type - possible values: 'rule'
* $op - possible values: 'add', 'edit', 'delete'
* $data - array with rule data in case of $op add/edit, rule id in case of $op delete.

The hook hook_webform_validator_alter(&$validators) can be used to alter the array of validators that is being generated by hook_webform_validation_validators().
* $validators - array of validators as supplied by modules implementing hook_webform_validation_validators().
  #8 (permalink)  
Antiguo 08/12/2010, 12:02
Avatar de NUCKLEAR
Moderador radioactivo
 
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba-Argentina
Mensajes: 5.688
Antigüedad: 19 años, 1 mes
Puntos: 890
Respuesta: Campos fechas de webform en drupal 6

que version de Webform estas usando? si es la 2.x podrias usar el campo extra validation (esta advanced) para agregar un snippet, si usas la 3.x hay que cargar este modulo http://drupal.org/project/webform_php

Luego ir a avanzadas y crear un snippet PHP, lo estoy viendo y es muy fácil de usar.

Por ejemplo si tengo uncomponente llamado fecha_ingreso y quiero que sea un fecha_ingreso(123) si no cumple la condicion lanze el mensaje de error :
simplemente creo el snippet

Código PHP:
Ver original
  1. <?php
  2.   if ($form_values['submitted_tree']['fecha_ingreso'] !='123') {
  3.     form_set_error('submitted]['fecha_ingreso', t('El numero no es 123.'));
  4.  }
  5. ?>

Con esta base puedes tomar los compnentes que quieras y hacer las comparaciones o lo que quieras y no hace falta el modulo webform_validation.

__________________
Drupal Argentina

Última edición por NUCKLEAR; 08/12/2010 a las 12:10 Razón: agregar Scrsht.
  #9 (permalink)  
Antiguo 08/12/2010, 12:26
 
Fecha de Ingreso: enero-2009
Mensajes: 85
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Campos fechas de webform en drupal 6

Estoy usando el webform 3.4.

Estoy de acuerdo con MarioAraque, la verdad es que no me viene bien editar el fichero del módulo por la misma explicación que das, muchas gracias por tu opinión!, en cuanto al módulo que me das NUCKLEAR lo voy a revisar, por lo que veo me puede servir mucho!!!!

Cualquier cosa que me encuentre de nuevo se los indico para ver como puedo resolver este detallito!!.

Muchísimas gracias nuevamente por sus aportes! me han servido de mucho!

Saludos!
  #10 (permalink)  
Antiguo 08/12/2010, 15:11
 
Fecha de Ingreso: enero-2009
Mensajes: 85
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Campos fechas de webform en drupal 6

El módulo de webform php me ayudó muchísimo!! gracias por la referencia, es bastante sencillo.

Saludos!
  #11 (permalink)  
Antiguo 08/12/2010, 16:08
Avatar de NUCKLEAR
Moderador radioactivo
 
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba-Argentina
Mensajes: 5.688
Antigüedad: 19 años, 1 mes
Puntos: 890
Respuesta: Campos fechas de webform en drupal 6

No se que le paso al Screenshot, pero lo vuelvo a poner por ai a alguien mas le sirve.



Obviamente modificar directamente los modulos no es una buena idea, pero si es necesario y estas seguro de que no vas a tener cambios en el futuro no veo por que no hacerlo. Yo tengo mi propia Version de Drupal con el Core hackeado con funcionalidades que hacerlo mediante hooks no seria suficiente. Incluso si recorres un poco los foros vas a ver que la gente publica patch's para el core o para los modulos para requerir cierta funcionalidad extra, o corregir errores que no lo lograrias hacerlo de otra manera.
__________________
Drupal Argentina

Etiquetas: campos, fechas, webforms
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:42.