function commerce_coupon_validate_code in Commerce Coupon 7.2
Element validate callback: validate coupon code.
1 string reference to 'commerce_coupon_validate_code'
- commerce_coupon_attach_coupon_entity_form in ./
commerce_coupon.module - Attach a coupon entity form to a form or form fragment.
File
- ./
commerce_coupon.module, line 2083 - Provides coupon functionality for Drupal Commerce.
Code
function commerce_coupon_validate_code($element, &$form_state) {
$path = implode('][', $element['#array_parents']);
$coupon_form_values = drupal_array_get_nested_value($form_state['values'], array_slice($element['#array_parents'], 0, -1));
// Ensure code is not empty unless we are generating a random one.
if (empty($coupon_form_values['generate'])) {
if (empty($element['#value'])) {
form_set_error($path, t('You must enter a code.'));
return;
}
$code = trim($element['#value']);
// Do not allow existing coupon codes, unless it is merely saving itself.
$coupon = commerce_coupon_load_by_code($code);
if ($coupon && (empty($element['#coupon_id']) || $element['#coupon_id'] != $coupon->coupon_id)) {
form_set_error($path, t('The code that you entered already exists.'));
}
}
// Ensure unique code if inserting.
if (!empty($form_state['edit_coupon']->is_new) && commerce_coupon_load_by_code($element['#value'])) {
form_set_error($path, t('The code that you entered already exists.'));
}
}