function uc_fedex_address_validate in FedEx Shipping 6.2
Same name and namespace in other branches
- 7.2 uc_fedex.aval.inc \uc_fedex_address_validate()
Form validation function to validate delivery address entered into uc_cart_checkout_form().
See also
File
- ./
uc_fedex.aval.inc, line 229 - FedEx Web Services Rate / Available Services Quote.
Code
function uc_fedex_address_validate($form, &$form_state) {
// Build $address object from $form_state
foreach ($form_state['values']['panes']['delivery'] as $key => $value) {
if (substr($key, 0, 9) == 'delivery_') {
$field = substr($key, 9);
$address->{$field} = $value;
}
}
drupal_set_message('<pre>address to validate: ' . var_export($address, TRUE) . '</pre>');
// Call FedEx Address Validation Web Service
$response = uc_fedex_address_request($address);
$address_details = $response->AddressResults->ProposedAddressDetails;
drupal_set_message('<pre>proposed address after validation: ' . var_export($address_details->Address, TRUE) . '</pre>');
drupal_set_message('<pre>response: ' . var_export($address_details->Address->StreetLines, TRUE) . '</pre>');
drupal_set_message('<pre>response: ' . var_export($form['panes']['delivery']['delivery_street1'], TRUE) . '</pre>');
$form_state['values']['panes']['delivery']['delivery_street1'] = 'HELLO';
// If Address Validation succeedes, rewrite address in canonical form
form_set_value($form['panes']['delivery']['delivery_street1'], $address_details->Address->StreetLines, $form_state);
$form_state['rebuild'] = TRUE;
//form_set_error('', t("Delivery address has been changed to standard form. Please verify that your delivery address is correct then re-submit this form."));
// If Address Validation fails, highlight errors
// if (!$response['valid']) form_set_error('', t('Error here!'));
form_set_error('panes][delivery][delivery_company', t("Company Name doesn't match address"));
}