function commerce_cart_add_to_cart_form_validate in Commerce Core 7
Form validate handler: validate the product and quantity to add to the cart.
1 string reference to 'commerce_cart_add_to_cart_form_validate'
- commerce_cart_add_to_cart_form in modules/
cart/ commerce_cart.module - Builds an Add to Cart form for a set of products.
File
- modules/
cart/ commerce_cart.module, line 2382 - Implements the shopping cart system and add to cart features.
Code
function commerce_cart_add_to_cart_form_validate($form, &$form_state) {
// Check to ensure the quantity is valid.
if (!is_numeric($form_state['values']['quantity']) || $form_state['values']['quantity'] <= 0) {
form_set_error('quantity', t('You must specify a valid quantity to add to the cart.'));
}
// If the custom data type attribute of the quantity element is integer,
// ensure we only accept whole number values.
if ($form['quantity']['#datatype'] == 'integer' && (int) $form_state['values']['quantity'] != $form_state['values']['quantity']) {
form_set_error('quantity', t('You must specify a whole number for the quantity.'));
}
// If the attributes matching product selector was used, set the value of the
// product_id field to match; this will be fixed on rebuild when the actual
// default product will be selected based on the product selector value.
if (!empty($form_state['values']['attributes']['product_select'])) {
form_set_value($form['product_id'], $form_state['values']['attributes']['product_select'], $form_state);
}
// Validate any line item fields that may have been included on the form.
field_attach_form_validate('commerce_line_item', $form_state['line_item'], $form['line_item_fields'], $form_state);
}