2011-07-22 16 views

Respuesta

7

Uso hook_form_alter() aplicar validación personalizada en Drupal

crear módulo, por ejemplo, MyModule

mymodule.module archivo

function mymodule_form_alter(&$form, &$form_state, $form_id) 
{ 
    print $form_id; 

    if($form_id=='webform_client_form_1') //Change webform id according to you webformid 
    { 
     $form['#validate'][]='mymodule_form_validate'; 
     return $form; 
    } 
} 

function mymodule_form_validate($form,&$form_state) 
{ 
    //where "phone" is field name of webform phone field 
    $phoneval = $form_state['values']['submitted']['phone']; 

    if($phoneval=='') 
    { 
     form_set_error('phone','Please fill the form field'); 
    } 
    // Then use regular expression to validate it. 
    // In above example i have check if phonefield is empty or not. 
} 

Si quieres más al detalle cómo utilizar hook_form_alter() visita este enlace http://www.codeinsects.com/drupal-hook-system-part-2.html

1

Hay un módulo denominado Webform Validation donde podemos establecer reglas de validación para cada uno de los campos .

Aquí es un extracto de la página del proyecto:

... añade una pestaña adicional para cada nodo formulario web, que le permite especificar reglas de validación para los componentes WebForm. Puede crear una o más de las reglas de validación predefinidas y seleccionar qué componente (s) webform (es) debe (n) validarse contra esas. Al usar los ganchos proporcionados por este módulo, también puede definir sus propias reglas de validación en sus propios módulos.

+0

Quizás añada más información sobre dónde encontrar la documentación –

0

El módulo Webform Validation es un módulo muy útil para la validación de los campos del formulario. Aquí hay un extracto de su página de proyecto:

... agrega una pestaña adicional a cada nodo de formulario web, lo que le permite especificar reglas de validación para sus componentes de formulario web. Puede crear una o más de las reglas de validación predefinidas y seleccionar qué componente (s) webform (es) debe (n) validarse contra esas. Al usar los ganchos proporcionados por este módulo, también puede definir sus propias reglas de validación en sus propios módulos.

Cuestiones relacionadas