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