diff --git a/bin/javascript/controls/BuyNowButton.js b/bin/javascript/controls/BuyNowButton.js
index d462950c233a6c774f7b127d7fddd1d46c2c72f8..74a68fe46c2307bd82203e5eb8ea6110dac0e49e 100644
--- a/bin/javascript/controls/BuyNowButton.js
+++ b/bin/javascript/controls/BuyNowButton.js
@@ -95,6 +95,33 @@ define('package/quiqqer/template-cologne/bin/javascript/controls/BuyNowButton',
                 ProductElm     = this.getElm().getParent('[data-productid]'),
                 ProductControl = QUI.Controls.getById(ProductElm.get('data-quiid'));
 
+            if (ProductElm) {
+                // check require fields
+                var required = ProductElm.getElements('.product-data-fieldlist [required]');
+
+                if (required) {
+                    for (var i = 0, len = required.length; i < len; i++) {
+                        if (!required[i].checkValidity()) {
+                            //self.enableQuantityButton();
+                            self.$Label.setStyle('visibility', 'visible');
+                            self.addingInProcess = false;
+
+                            Loader.destroy();
+                            this.getElm().set('disabled', false);
+                            this.$Label.setStyle('visibility', 'visible');
+
+                            required[i].focus();
+
+                            // chrome validate message
+                            if ("reportValidity" in required[i]) {
+                                required[i].reportValidity();
+                            }
+                            return;
+                        }
+                    }
+                }
+            }
+
             if ("getFieldControls" in ProductControl) {
                 ProductControl.getFieldControls().each(function (Field) {
                     fields[Field.getFieldId()] = Field.getValue();