2011-01-14 4 views

答えて

1

これにはモジュールがあるとは思いますが、カスタムモジュールでhook_form_alterでこれを行うことができます。コードは10行から20行でなければなりません。

function module_form_FORM_ID_alter(&$form, &$form_state) { 
    $form['...']['second_mail'] = array(
    '#title' => t('Verify E-mail'), 
    '#type' => 'textfield', 
    '#weight' => xx, 
); 

    $form['#validate'][] = 'module_validate_function_name'; 
} 

function module_validate_function_name(&$form, &$form_state) { 
    if ($form_state['values']['mail'] != $form_state['values']['second_mail']) { 
    form_set_error('second_mail', t('You have mistyped your e-mail, please verify'); 
    } 
} 
ような何か

上記のコード例であるが、実際に働くかもしれない、それはubercartのチェックアウトフォームの作成方法によって異なり、より具体的には、それの名前は、メールフィールドです。

空白がいくつかありますが、記入するだけで十分です。

1

私は、この使用して作業しました:ubercartチェックアウトの設定でメールの確認]チェックボックスがあり

/* Code to add confirm email for uc checkout */ 
function custom_code_form_alter(&$form, $form_state, $form_id) { 
    if($form_id == "uc_cart_checkout_form" && $form['panes']['customer']['primary_email']['#type'] != 'hidden'){  
     $form['panes']['customer']['primary_email']['#weight'] = '0'; 
     $form['panes']['customer']['new_account']['#weight'] = '2'; 
     $form['panes']['customer']['confirm_email'] = array(
      '#title' => t('Verify E-mail address'), 
      '#type' => 'textfield', 
      '#size' => '32', 
      '#required' => true, 
      '#weight' => '1' 
     ); 
     $form['#validate'][] = 'custom_code_validate_confirm_email'; 
    } 
} 
function custom_code_validate_confirm_email(&$form, &$form_state){ 
    if($form_state['values']['panes']['customer']['primary_email'] != $form_state['values']['panes']['customer']['confirm_email']) { 
     form_set_error('panes[customer][confirm_email', t('Email addresses must match.')); 
    } 
} 
/* end code for confirm_email */ 
2

を。追加のモジュールは必要ありません。

関連する問題