Drupal向导窗体:验证和上一个按钮

问题描述:

在我的drupal6站点中,我有向导窗体。我使用表单存储和重建属性使用FormAPI实现它。我的表单验证正在使用#required属性和#element_validate属性中的函数完成。它工作正常,但有一件事,当我点击上一个按钮时,表单正在验证,我不希望它。当点击某个表单的特定按钮时,是否有智能且正确的方法来禁用验证?Drupal向导窗体:验证和上一个按钮

干净地做到这一点(不幸)的唯一方法是避免使用#required = TRUE并在验证处理程序中自己验证它,同时考虑向导过程中表单所处的“步骤”的知识。

一种常见的方法是将所有正在进行的数据累积到$ form_state ['storage']中,并在重建之间保留它。

+0

谢谢。我正在使用$ form_state ['storage']。不幸的是,我将不得不做你说的话,并实现一个必需的验证功能,然后验证用户是否点击了上一个按钮并且没有验证。 – 2009-02-21 12:11:34

// hack to clear validation errors during wizard processing 
    form_set_error(NULL, FALSE, TRUE); 
    unset($_SESSION['messages']['error']); 

Kevin的答案有效。您也可以尝试http://drupal.org/project/skip_validation您将在其中添加一个附加属性到您的上一个按钮,'#skip_validation' => TRUE