diff --git a/Layout/default/Address/Form.php b/Layout/default/Address/Form.php index 907e976e2..44935e98b 100644 --- a/Layout/default/Address/Form.php +++ b/Layout/default/Address/Form.php @@ -571,26 +571,68 @@ return true; } - e.preventDefault(); - return false; - } - }); - - - - - - /* - * link autocomplete - */ - - $('.link-autocomplete').autoComplete(); - $('.link-autocomplete').keydown(function() { - if(event.keyCode == 13) { - event.preventDefault(); - return false; - } - }); + // Format IBAN with Spaces + function formatIBAN(input) { + let iban = input.value.replace(/\s/g, ''); + + let formattedIBAN = ''; + for (let i = 0; i < iban.length; i++) { + if (i > 0 && i % 4 === 0) { + formattedIBAN += ' '; + } + formattedIBAN += iban[i]; + } + + input.value = formattedIBAN; + } + + $("#bank_account_iban").on("input", function () { + formatIBAN(this); + }); + formatIBAN(document.getElementById('bank_account_iban')); + + + $('#addressForm').submit(function (e) { + $("#error").hide(); + $("#bank-error").hide(); + + if ($('#billing_type').val() == "sepa") { + console.log("bankdata_valid (1): " + bankdata_valid); + if (bankdata_valid) { + return true; + } + + if (!validateIbanFormat($("#bank_account_iban").val().replace(/\s/g, ''))) { + $("#error").show(); + console.log("nope"); + } + + console.log("bankdata_valid: " + bankdata_valid); + if ($("#bank_account_iban").val().replace(/\s/g, '') != "=$address->bank_account_iban?>" || $("#bank_account_bic").val() != "=$address->bank_account_bic?>") { + validateIbanBic($("#bank_account_iban").val().replace(/\s/g, ''), $("#bank_account_bic").val()); + } else { + return true; + } + + $("#bank_account_iban").val($("#bank_account_iban").val().replace(/\s/g, '')); + + e.preventDefault(); + return false; + } + }); + + + /* + * link autocomplete + */ + + $('.link-autocomplete').autoComplete(); + $('.link-autocomplete').keydown(function () { + if (event.keyCode == 13) { + event.preventDefault(); + return false; + } + }); /* * Links autocomplete diff --git a/Layout/default/Address/View.php b/Layout/default/Address/View.php index 54a9cc146..1556b11c1 100644 --- a/Layout/default/Address/View.php +++ b/Layout/default/Address/View.php @@ -112,7 +112,13 @@