我通过Drupal 7上的服务模块创建了一项服务,允许在网站上注册。尝试一下,我收到一条消息,说验证码还没有填写。我发送了我的请求所有必需的数据,如姓名,密码或电子邮件,但由于显而易见的原因,我无法发送验证码。 现在,更简单的解决方案是在我的网站上禁用验证码,但我真的不想这样做,因为必须为正常的“人类”启用验证码。注册
那么,有哪种方法可以禁用来自Web服务的请求的验证码?或者其他任何正确的方法,因为我不知道如何正确使用网络服务,所以我想我做了一些概念上的错误......
答案 0 :(得分:2)
您可以使用hook_form_alter()从表单中删除验证码元素。例如,在custom Drupal module中试试这个:
<?php
function my_module_form_alter(&$form, &$form_state, $form_id) {
//dpm($form);
// Disable captcha on Services user register form.
if ($form_id == 'user_register_form') {
if (arg(0) == 'my_services_endpoint_path') {
unset($form['captcha']);
}
}
}
?>
使用devel module's dpm()
函数检查表单结构并找到元素的名称。以上示例适用于captcha module。如果您使用的是Mollom,我认为您可以使用unset($form['mollom']);