在我的drupal6网站中,我有向导表单。我使用表单存储和rebuild属性使用FormAPI实现了它。我的表单验证是使用#required属性和#element_validate属性中的函数完成的。它工作正常,但有一点,当我点击上一个按钮时,表单正在验证,我不希望它。当单击表单的特定按钮时,是否有一种智能且正确的方法来禁用验证?
答案 0 :(得分:1)
干净地(不幸的是)这样做的唯一方法是避免使用#required = TRUE并在验证处理程序中自己验证它,同时考虑到向导过程中表单的“步骤”的知识。
一种常见的方法是在$ form_state ['storage']中累积所有正在进行的数据,它将在重建之间保持不变。
答案 1 :(得分:1)
// hack to clear validation errors during wizard processing
form_set_error(NULL, FALSE, TRUE);
unset($_SESSION['messages']['error']);
答案 2 :(得分:1)
凯文的回答有效。您也可以尝试http://drupal.org/project/skip_validation,在其中添加其他属性到您之前的按钮'#skip_validation' => TRUE