From 562435a06fb66b97baaea523231142fe0fc4e52d Mon Sep 17 00:00:00 2001
From: Iryna Lagno <ilagno@ebay.com>
Date: Fri, 26 Jun 2015 11:46:58 +0300
Subject: [PATCH] MAGETWO-39059: Wrong validation for email, should be JS
 client-side instead of server

---
 .../view/frontend/web/js/view/payment/default.js   | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/app/code/Magento/Checkout/view/frontend/web/js/view/payment/default.js b/app/code/Magento/Checkout/view/frontend/web/js/view/payment/default.js
index 529a3f84c1c..b4bdb28e12a 100644
--- a/app/code/Magento/Checkout/view/frontend/web/js/view/payment/default.js
+++ b/app/code/Magento/Checkout/view/frontend/web/js/view/payment/default.js
@@ -5,12 +5,14 @@
 define(
     [
         'ko',
+        'jquery',
         'uiComponent',
         'Magento_Checkout/js/action/place-order',
         'Magento_Checkout/js/action/select-payment-method',
-        'Magento_Checkout/js/model/quote'
+        'Magento_Checkout/js/model/quote',
+        'Magento_Customer/js/model/customer'
     ],
-    function (ko, Component, placeOrderAction, selectPaymentMethodAction, quote) {
+    function (ko, $, Component, placeOrderAction, selectPaymentMethodAction, quote, customer) {
         'use strict';
         return Component.extend({
             redirectAfterPlaceOrder: true,
@@ -37,7 +39,13 @@ define(
              * Place order.
              */
             placeOrder: function () {
-                if (this.validate()) {
+                var emailValidationResult = customer.isLoggedIn(),
+                    loginFormSelector = 'form[data-role=email-with-possible-login]';
+                if (!customer.isLoggedIn()) {
+                    $(loginFormSelector).validation();
+                    emailValidationResult = Boolean($(loginFormSelector + ' input[name=username]').valid());
+                }
+                if (emailValidationResult && this.validate()) {
                     placeOrderAction(this.getData(), this.redirectAfterPlaceOrder);
                 }
             },
-- 
GitLab