Fix email validation before submitting checkout details

This commit is contained in:
Jean-Matthieu DECHRISTE 2022-08-25 14:28:58 +02:00
parent faa62bb9ad
commit b4990cbe21

View File

@ -298,7 +298,7 @@ class _CheckoutDetailsPageState extends State<CheckoutDetailsPage> {
city: _txtBillingCity.text, city: _txtBillingCity.text,
postalCode: _txtBillingPostalCode.text, postalCode: _txtBillingPostalCode.text,
phoneNumber: _txtBillingPhoneNumber.text, phoneNumber: _txtBillingPhoneNumber.text,
emailAddress: _txtBillingEmailAddress.text, emailAddress: _txtBillingEmailAddress.text.trim(),
customerCountry: _billingCountry, customerCountry: _billingCountry,
); );
@ -314,7 +314,7 @@ class _CheckoutDetailsPageState extends State<CheckoutDetailsPage> {
addressLine: _txtShippingAddressLine.text, addressLine: _txtShippingAddressLine.text,
city: _txtShippingCity.text, city: _txtShippingCity.text,
postalCode: _txtShippingPostalCode.text, postalCode: _txtShippingPostalCode.text,
emailAddress: _txtShippingEmailAddress.text, emailAddress: _txtShippingEmailAddress.text.trim(),
customerCountry: _shippingCountry); customerCountry: _shippingCountry);
if (customerShippingAddress.hasMissingFields()) { if (customerShippingAddress.hasMissingFields()) {
@ -328,10 +328,15 @@ class _CheckoutDetailsPageState extends State<CheckoutDetailsPage> {
return; return;
} }
CheckoutSession.getInstance.billingDetails!.shippingAddress =
customerShippingAddress;
}
// Email validation // Email validation
String billingEmail = _txtBillingEmailAddress.text; String billingEmail = CheckoutSession.getInstance.billingDetails!.billingAddress!.emailAddress!;
String shippingEmail = _txtShippingEmailAddress.text; String shippingEmail = CheckoutSession.getInstance.billingDetails!.shippingAddress!.emailAddress!;
if (billingEmail.isNotEmpty && !validate.isEmail(billingEmail)) { // Billing email is required for Stripe
if (billingEmail.isEmpty || !validate.isEmail(billingEmail)) {
showToastNotification( showToastNotification(
context, context,
title: trans("Oops"), title: trans("Oops"),
@ -351,10 +356,6 @@ class _CheckoutDetailsPageState extends State<CheckoutDetailsPage> {
return; return;
} }
CheckoutSession.getInstance.billingDetails!.shippingAddress =
customerShippingAddress;
}
if (valRememberDetails == true) { if (valRememberDetails == true) {
await CheckoutSession.getInstance.saveBillingAddress(); await CheckoutSession.getInstance.saveBillingAddress();
await CheckoutSession.getInstance.saveShippingAddress(); await CheckoutSession.getInstance.saveShippingAddress();