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

Validar un formulario en Drupal

Estas en el tema de Validar un formulario en Drupal en el foro de Drupal en Foros del Web. Buenos dias, Tengo un problemilla, quiero validar los campos de un formulario que tengo pero que no consigo encontrar una forma para hacerlo: Tengo el ...
  #1 (permalink)  
Antiguo 27/11/2011, 18:21
 
Fecha de Ingreso: abril-2009
Mensajes: 52
Antigüedad: 15 años
Puntos: 0
Validar un formulario en Drupal

Buenos dias,
Tengo un problemilla, quiero validar los campos de un formulario que tengo pero que no consigo encontrar una forma para hacerlo:
Tengo el formulario creado asi :

function mymodule_page(){
return drupal_get_form('mymodule_upload');
}

function mymodule_upload(){
$form['#attributes']['enctype'] = 'multipart/form-data';

$form['campo1'] = array(
'#type' => 'textfield',
'#title' => 'campo1',
'#default_value' => $campo1
);

$form['campo2'] = array(
'#type' => 'textarea',
'#title' => 'campo2',
'#default_value' => $campo2
);

$form['upload']['submit_one'] = array(
'#type' => 'submit',
'#value' => 'Subir'
);

$form['volver']['submit_two'] = array(
'#type' => 'submit',
'#value' => 'Volver'
);
return $form;
}

function mumodule_upload_submit(&$form, &$form_state){
//Insertar datos en BBDD
}


Lo que quiero es que cuando se pulsa el boton submit se validen los campos y cuando se pulse el boton "Volver" se vuelve a la pagina pero sin validar.

He encontrado por internet el valor "element_valid" que valida campo por campo pero el problema es que valida tanto en "Submit" que en "Volver" y no quiero eso.
¿Me pueden echar una mano?
Muchas gracias
  #2 (permalink)  
Antiguo 27/11/2011, 21:22
Avatar de NUCKLEAR
Moderador radioactivo
 
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba-Argentina
Mensajes: 5.688
Antigüedad: 18 años, 5 meses
Puntos: 890
Respuesta: Validar un formulario en Drupal

Debes crear una function ELEMENT_validate()

En tu caso:

Código PHP:
Ver original
  1. function mymodule_upload_validate($form, &$form_state) {
  2.  
  3.     $file = $form_state['values']['FIELDNAME'];
  4.  
  5.     if (CONDITION == FALSE){
  6.  
  7.  form_set_error('FIELDNAME', t('Error message'));
  8.  
  9.     }
  10.  
  11. }

http://api.drupal.org/api/drupal/dev...ement_validate

Si descargas el modulo Examples hay uno bastante simple para tomar de referencia. http://drupal.org/project/examples
__________________
Drupal Argentina
  #3 (permalink)  
Antiguo 28/11/2011, 11:10
 
Fecha de Ingreso: abril-2009
Mensajes: 52
Antigüedad: 15 años
Puntos: 0
Respuesta: Validar un formulario en Drupal

Muchas gracias NUCKLEAR, funciona.

Etiquetas: formulario
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 14:05.