首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在AHAH之后停止节点表单验证

如何在AHAH之后停止节点表单验证
EN

Stack Overflow用户
提问于 2012-04-02 09:33:18
回答 2查看 806关注 0票数 0

我使用Drupal 6和AHAH自定义我的节点表单。对于ahah,我使用以下代码:

代码语言:javascript
复制
function mymodule_subtopic_type() {
    $output = '';

    $form_state = array('storage' => null, 'submitted' => false, 'rebuild' => true);
    $form_build_id = $_POST['form_build_id'];

    $form = form_get_cache($form_build_id, $form_state);

    $args = $form['#parameters'];
    $form_id = array_shift($args);
    $form_state['post'] = $_POST;
    $form['#post'] = $_POST;
    $form['#programmed'] = false;

    $form['#redirect'] = false;

    drupal_process_form($form_id, $form, $form_state);

    $form = drupal_rebuild_form($form_id, $form_state, $args, $form_build_id);

    $topic_form = $form['topic_wrapper'];
    unset($topic_form['#prefix'], $topic_form['#suffix']);
    $output .= theme('status_messages');
    $output .= drupal_render($topic_form);

    drupal_json(array('status' => TRUE, 'data' => $output));
}

新表单元素可以很好地呈现,但我得到状态消息:

  • 标题字段是必需的。
  • 描述字段是必需的。

如何在打完电话后停止验证?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-02 15:02:39

d.o.:http://drupal.org/node/831900#comment-3124386的解决方案

添加此功能:

代码语言:javascript
复制
 function _ahah_helper_disable_validation(&$form) {
   foreach (element_children($form) as $child) {
     $form[$child]['#validated'] = TRUE;
     _ahah_helper_disable_validation(&$form[$child]);
   }
 }

在drupal_process_form($form_id,$form,$form_state)之前调用;

票数 1
EN

Stack Overflow用户

发布于 2012-09-15 01:02:56

我正在尝试的另一个选项是检测AHAH按钮单击并从验证钩子返回,如果它不是我的“真实”提交按钮,则无需处理。我使用的是$form_state 'op‘值,但我刚刚了解到,这似乎只适用于Chrome。

只是另一个想法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9973998

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档