You are here

function commerce_order_order_form_validate in Commerce Core 7

Validation callback for commerce_order_order_form().

1 string reference to 'commerce_order_order_form_validate'
commerce_order_order_form in modules/order/includes/commerce_order.forms.inc
Form callback: create or edit an order.

File

modules/order/includes/commerce_order.forms.inc, line 202
Forms for creating / editing and deleting orders.

Code

function commerce_order_order_form_validate($form, &$form_state) {
  $order = $form_state['commerce_order'];

  // Validate the "owned by" field.
  if (!empty($form_state['values']['name']) && !($account = user_load_by_name($form_state['values']['name']))) {

    // The use of empty() is mandatory in the context of usernames as the empty
    // string denotes an anonymous user.
    form_set_error('name', t('The username %name does not exist.', array(
      '%name' => $form_state['values']['name'],
    )));
  }

  // Validate the "created on" field.
  if (!empty($form_state['values']['date_created']) && strtotime($form_state['values']['date_created']) === FALSE) {
    form_set_error('date', t('You have to specify a valid order creation date.'));
  }

  // Validate the "placed on" field.
  if (!empty($form_state['values']['date_placed']) && strtotime($form_state['values']['date_placed']) === FALSE) {
    form_set_error('date', t('You have to specify a valid order placement date.'));
  }

  // Validate the e-mail address entered.
  if (!empty($form_state['values']['mail']) && !valid_email_address($form_state['values']['mail'])) {
    form_set_error('mail', t('You have specified an invalid e-mail address.'));
  }

  // TODO: Pending token patterns for order numbers, validate the characters and
  // the final string for uniqueness.
  // Notify field widgets to validate their data.
  field_attach_form_validate('commerce_order', $order, $form, $form_state);
}