2010-08-16 19 views
0

我在输入共享相同密钥的一个页面中遇到了多个表单的问题。Drupal表单验证将其他表单字段标记为无效

我在页面中有一个窗体,在同一页面上显示一个窗体中的另一个窗体。

这两个表格都有一个字段名称,正好是关键名称(mail)。我无法改变这些字段的键,或者我会打破2个模块。因此,无论何时我尝试发布页面表单并且邮件丢失(这是必需的),我都被带到标有红色(这是正确的)字段的同一页面,但块表单也被标记为(这是错误的,因为我正在填充页面表单,没有块)。

有谁知道如何避免这种行为?我正在考虑hook_form_alter(),甚至是theme_preprocess_block(),但是在重新发明轮子之前......好吧,你知道的。

在此先感谢!

+0

你能从你的两种形式提供的示例代码?不确定当你说“同一把钥匙”时你指的是什么。 – 2010-08-18 05:55:54

回答

0

也许尝试增加额外的验证功能,以块的形式,如果所有字段为空,然后执行以下操作:

form_set_error(NULL, '', TRUE); 
$form_state['rebuild'] = TRUE;