8

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

4

2 回答 2

7

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

创建模块,例如 mymodule

文件 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

于 2011-07-22T06:13:25.403 回答
2

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

以下是其项目页面的摘录:

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

于 2012-06-30T11:37:18.130 回答