我创建了这两个函数,可以通过跟踪SOF或其他信息的不同主题来修改Drupal表单的验证。但我的查询从未进入验证功能,我不明白为什么......
/**
* Implements hook_form_FORM_ID_alter().
*/
function *****_form_simplenews_block_form_1_alter(&$form, &$form_state) {
// Modify some form settings
$form['mail']['#title_display'] = 'invisible';
$form['mail']['#size'] = 40;
$form['mail']['#attributes']['placeholder'] = t('Enter your email address');
$form['submit']['#value'] = t('OK');
$form['#validate'][0] = '*****_simplenews_block_form_validate';
}
/**
* Validate the mail address for simplenews
*
* @param $form
* @param $form_state
*/
function *****_simplenews_block_form_validate($form, &$form_state) {
kpr($form);die();
if (!valid_email_address($form_state['values']['mail']) && $form_state['values']['check_robot']) {
form_set_error('mail', t("Error, please try again"));
form_set_error('submit', "You are a robot.");
}
}
我去看了Drupal API的文档(https://www.drupal.org/files/fapi_workflow_7.x_v1.1.png),似乎我做了必要的事情,所以如果有人能帮助我,我会很高兴,谢谢你提前!
答案 0 :(得分:0)
好吧,我的坏!
操作表单将表单提交给Web服务。因此,Drupal表单工作流程永远不会验证它。