Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.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上设置表单错误_Php_Forms_Drupal_Drupal 6_Form Api - Fatal编程技术网

Php 使用两个相同的表单在Drupal 6上设置表单错误

Php 使用两个相同的表单在Drupal 6上设置表单错误,php,forms,drupal,drupal-6,form-api,Php,Forms,Drupal,Drupal 6,Form Api,我正在使用Drupal6,我想创建一个块,它显示一个表单,也可以在子页面上找到 为此,我创建了一个drupal表单API表单()及其validationhandler表单_validate()和submithandler表单_submit()。然后,我添加了一个form API form widget_form(),它基本上与form()相同-只是轻微的样式调整,validation/submithandler设置为form_validate()和form_submit(),我还更改了操作以转到

我正在使用Drupal6,我想创建一个块,它显示一个表单,也可以在子页面上找到

为此,我创建了一个drupal表单API表单()及其validationhandler表单_validate()和submithandler表单_submit()。然后,我添加了一个form API form widget_form(),它基本上与form()相同-只是轻微的样式调整,validation/submithandler设置为form_validate()和form_submit(),我还更改了操作以转到显示form()的子页面

这很好,但是如果存在validationerror(当使用widget_form()时),drupal会标记块公式,而不是子页面上的

这似乎像设计的那样工作,但不是我想要的必要行为。那么,有什么办法改变这一点吗? (我希望错误显示在form()-form上,而不是widget_form())

谢谢


编辑:我试图在显示form()表单的页面上隐藏包含widget_form()-form的块,但没有显示错误。

我认为使用的方法不太正确。您需要创建的只是一个表单和一组验证和提交函数。对于块,使用hook_块并创建一个块,在块视图op中,您可以调用drupal_get_表单并在块中显示表单,然后使用CSS或自定义模板文件对块进行主题化。然后从块配置页面,您可以决定不在加载完整表单的URL(菜单)处显示块。那部分你做对了