Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Drupal 6:在输出表单之前,我在哪里可以访问表单的错误,可能是通过form_get_errors()?_Php_Drupal 6_Drupal Fapi - Fatal编程技术网

Php Drupal 6:在输出表单之前,我在哪里可以访问表单的错误,可能是通过form_get_errors()?

Php Drupal 6:在输出表单之前,我在哪里可以访问表单的错误,可能是通过form_get_errors()?,php,drupal-6,drupal-fapi,Php,Drupal 6,Drupal Fapi,和往常一样,我认为Drupal forms API中的一些东西会很简单。。。我在想什么 问题 我有一个通过drupal\u get\u表单输出表单的块。不知何故,在块的显示函数中,我想检查表单是否未通过验证,即是否存在由表单的验证函数中的form_set_error设置的任何错误 到目前为止已经试过了 正在块显示功能中检查$\u会话['messages']['error']——但此时它们已消失 正在检查块显示功能中的$\u POST-此处没有任何有用的内容 正在检查mymodule预处理页面中的

和往常一样,我认为Drupal forms API中的一些东西会很简单。。。我在想什么

问题 我有一个通过drupal\u get\u表单输出表单的块。不知何故,在块的显示函数中,我想检查表单是否未通过验证,即是否存在由表单的验证函数中的form_set_error设置的任何错误

到目前为止已经试过了

正在块显示功能中检查$\u会话['messages']['error']——但此时它们已消失 正在检查块显示功能中的$\u POST-此处没有任何有用的内容 正在检查mymodule预处理页面中的表单获取错误-空 检查mytheme\u预处理页面中的表单\u获取\u错误-空 我被我对空的呼唤弄糊涂了。它调用时不带参数,这会留下$reset=FALSE,因此保存表单错误的静态变量不会被清除。所以我不知道var在哪里被重置——在某个地方被另一个forms api函数重置了?-所以当我在模块或主题中调用它时,它是空的

帮忙?
那么,有人知道在什么时候预处理函数吗?我可以在清除静态变量之前调用form_get_errors吗?或者你知道如何在显示表单的块中检查表单错误吗?顺便说一句,我确信一旦我进入drupal\u get\u表单调用的函数中,我就可以很容易地检查这一点。。。但是我需要知道封闭块显示函数中的错误。

这很难看,因为所有的东西都出来了,但它应该可以工作

$form['#validate'][] = '_error_preservation_helper';

...
function _error_preservation_helper($form, &$form_state) {
  $GLOBALS['_error_preservation_helper'] = form_get_error();
  return true;
}