3
在我對Drupal Forms API表單的驗證功能中,我試圖對用戶的信用卡收費。如果成功,我想將參考號傳遞給提交函數,以便可以在那裏使用。這樣做的最好方法是什麼?將信息從Drupal Forms API驗證功能傳遞到提交功能
在我對Drupal Forms API表單的驗證功能中,我試圖對用戶的信用卡收費。如果成功,我想將參考號傳遞給提交函數,以便可以在那裏使用。這樣做的最好方法是什麼?將信息從Drupal Forms API驗證功能傳遞到提交功能
的documentation這樣說:
注意,如Drupal的6,你也可以簡單地存儲在$形式[「#富」]相反,只要「#foo」不與任何衝突的任何變量Form API的其他內部屬性。
所以你可以做這樣的事情:
function form($form_state) {
//in your form definition function:
$form['#reference_number'] = 0;
}
function form_validate($form, &$form_state) {
//try to charge card ...
if ($card_charged) {
$form_state['values']['#reference_number'] = $reference_number;
}
}
function submit_form($form, &$form_state) {
if (isset($form_state['values']['#reference_number'])) {
$reference_number = $form_state['values']['#reference_number'];
//do whatever you want
}
}
$ form_state變量絕對是你想要保存這些信息的地方 - 它正是它的目的所在,並且(有趣的是)驗證期間的'信用卡驗證'是用來證明當前設計合理性的示例用例之一驗證/提交工作流程。 – Eaton 2009-07-30 21:55:08
Hrrm。我意識到我沒有真正回答你問的問題。它現在應該適用於這個問題。 – jergason 2009-07-30 20:08:25