如何在Drupal 7中的字段小部件提交按钮上使用ajax而不验证表单的其余部分

时间:2011-03-11 19:27:24

标签: ajax validation drupal-7 drupal-modules

我正在为分类术语引用创建一个新的小部件,其中一个提交按钮将一个ajax调用回drupal来改变表单。这就是我所拥有的:

$element['my_module_wrapper']['add'] = array(  
  '#type' => 'submit',  
  '#value' => t('Add'),  
  '#ajax' => array(  
    'callback' => 'my_module_ajax',  
    'wrapper' => $field_name . '_my_module_container',  
  ),
);

我让ajax调用正常工作,但它会验证整个表单,并在未填写所需的不相关字段时抛出错误。我怎么能阻止这个?

也可能是相关的,当调用ajax时它似乎没有调用我的hook_field_widget_form()函数......这是否源于同样的问题?

2 个答案:

答案 0 :(得分:0)

您是否尝试过使用#type ='button'代替'submit'?据我所知,提交按钮将始终通过for validate数组运行,无论它是否为ajax表单项。

答案 1 :(得分:-1)

请查看此处给出的民意调查模块中的示例:http://api.drupal.org/api/drupal/developer--topics--forms_api_reference.html/7#ajax

完整的功能显示了如何使用'#limit_validation_errors'完成。