2015-09-09 41 views
0

我創建了用於將表單呈現爲tpl文件的自定義模塊。 除表格驗證外,一切正常。 問題是,它顯示錶單驗證錯誤,如果我輸入正確的輸入到表格Drupal表單驗證重複表單錯誤兩次

我需要按提交按鈕兩次,然後只有錯誤被清除。

$ form = drupal_get_form('custom_form') render $ form;在這裏我們要 在TPL文件;

function mymodule_form_submit($form, &$form_state){ 
     unset($_SESSION ['messages']); // Remove all existing message 
     .... your code testing etc... 

     // Display custom message 
     // success 
     drupal_set_message(t('Success')); 

     // Warning 
     drupal_set_message(t('Warning'), 'warning'); 


     // error 
     drupal_set_message(t('Error'),'error'); 
} 
+0

您是否爲此自定義窗體創建了hook_form_submit? 您可以使用drupal_set_message()函數來覆蓋消息,請參閱以下鏈接: https://api.drupal.org/api/drupal/includes%21bootstrap.inc/function/drupal_set_message/7或者取消設置會話消息,如unset( $ _SESSION ['messages']);在你的開始hook_form_submit – Fky

回答

0

custom_preprocess_page(& $變量){$變量[ 'custom_form'] = drupal_get_form( 'custom_form')}:

0

在你hook_form_submit你可以試試這個渲染一個表格 通過使用這個邏輯我解決了這個問題。 我希望它也是一個解決方案。

+0

感謝您的解決方案,是的,我用鉤子如custom_form_validate和custom_form_submit – kannan

+0

此解決方案解決您的問題? :) – Fky