我在drupal 7网站上有网络表单。我想要的是验证我的webform字段。 webform包含一个电话字段,该字段应接受数字字段,并且只能包含10个数字。是否有任何模块或我必须为此编码。
答案 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组件。通过使用此模块提供的挂钩,您还可以在自己的模块中定义自己的验证规则。