如何在drupal 7中应用webform验证?

时间:2011-07-22 05:09:03

标签: validation drupal-7 drupal-webform

我在drupal 7网站上有网络表单。我想要的是验证我的webform字段。 webform包含一个电话字段,该字段应接受数字字段,并且只能包含10个数字。是否有任何模块或我必须为此编码。

3 个答案:

答案 0 :(得分:7)

使用hook_form_alter()在drupal中应用自定义验证

创建模块,例如MyModule的

file mymodule.module

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.
}

如果您想详细了解如何使用hook_form_alter(),请访问此链接http://www.codeinsects.com/drupal-hook-system-part-2.html

答案 1 :(得分:1)

有一个名为Webform Validation的模块,我们可以为每个字段设置验证规则。

以下是项目页面的摘录:

  

...为每个webform节点添加一个额外的选项卡,允许您为webform组件指定验证规则。您可以创建一个或多个预定义的验证规则,并选择应针对这些规则验证哪些webform组件。通过使用此模块提供的挂钩,您还可以在自己的模块中定义自己的验证规则。

答案 2 :(得分:0)

Webform Validation模块是一个非常有用的模块,用于验证表单字段。以下是项目页面的摘录:

  

...为每个webform节点添加一个额外的选项卡,允许您为webform组件指定验证规则。您可以创建一个或多个预定义的验证规则,并选择应针对这些规则验证哪些webform组件。通过使用此模块提供的挂钩,您还可以在自己的模块中定义自己的验证规则。