1

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

4

3 回答 3

1

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

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

于 2009-02-21T05:11:57.707 回答
1
  // hack to clear validation errors during wizard processing
  form_set_error(NULL, FALSE, TRUE);
  unset($_SESSION['messages']['error']);
于 2009-04-26T00:56:24.170 回答
1

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

于 2012-05-31T15:24:34.563 回答