Enable Accessibility
Free standard shipping over 420 PLN
Search

Contact us

1

Topic

In order to better assist you, please select a topic

Please select your topic *
Online Orders
Swarovski Club
Delivery
Exchange
Warranty
Repair
Product Information
Promotions
Payment
SCS membership
Website Issue
Data Privacy
Other
$(this).closest('#contactTopicFormConfigWrapper').find('.js-contactTopicFormConfig') .formValidation( { autoFocus: false, framework: 'bootstrap', icon: { valid: null, invalid: null, validating: null }, fields: { 'values[contactTopicFormDefinition_contactTopic]': { trigger: 'change', validators: { notEmpty: { message: 'Please select your topic', message_en: 'Please select your topic' } } } } } ) .on('success.field.fv', function() { /* note: we need to check if there is an error in the form, as the plugin does a validation on field level. Validating the whole form on blur of a field is no option, as the customer does not want to see error messages on all fields when entering one field. In case of an error on at least one field we disable the submit button manually */ var $form = $(this).closest('form'); if ($form.find('.form-group.has-error').length > 0) { var $button = $form.find('.js-button'); if (!$button.hasClass('disabled')) { $button.addClass('disabled'); } } }) .on('err.field.fv', function(e, data) { /* * On error field validation, enable submit button. * Source: https://old.formvalidation.io/examples/enabling-submit-button/ */ data.fv.disableSubmitButtons(false); $(data.element).attr('aria-invalid', 'true'); // Get error messages var messages = data.fv.getMessages(data.element); // ✅ Announce error to screen readers if ($(data.element).closest('.js-advent-calendar-container').length > 0 && messages.length > 0 && window.ACC && window.ACC.adventcalendar && typeof ACC.adventcalendar.adventcalendarUpdateErrorSpanAttributes === 'function') { const selectedField = data.element.attr('id'); ACC.adventcalendar.adventcalendarUpdateErrorSpanAttributes(selectedField, true); ACC.adventcalendar.announceToScreenReader('Error: ' + messages[0]); } if(data.element.closest('.form-combo-molecule').length){ /* Get the messages of field */ var messages = data.fv.getMessages(data.element); /* Get the error message content of the field */ var errorContent = data.element.closest('.form-combo-molecule').find('.errors'); /* Get the hidden error message of the field */ var errorField = errorContent.find('.swa-form-input__error-message[data-field="' + data.field + '"][style="display: none;"]'); /* Loop over the messages */ for (var i in messages) { if (errorField[1] == undefined) { var newErrorContainer = document.createElement("small"); $(newErrorContainer).attr("class", "swa-form-input__error-message swa-headline-sans--supertiny"); $(newErrorContainer).attr("data-field", data.field); $(newErrorContainer).attr("data-fv-validator", "callback"); $(newErrorContainer).attr("data-fv-for", $(data.element[0]).attr("name") ); $(newErrorContainer).attr("data-fv-result", "INVALID"); $(newErrorContainer).attr("data-tracked", "true"); $(newErrorContainer).html(messages[i]); if (errorContent.text().includes(messages[i])) { $(newErrorContainer).hide(); } errorContent.append(newErrorContainer); } } } }) .on('success.field.fv', function(e, data) { /* * On success field validation, enable submit button. * Source: https://old.formvalidation.io/examples/enabling-submit-button/ */ if ($(data.element).closest('.js-advent-calendar-container').length > 0 && window.ACC && window.ACC.adventcalendar && typeof ACC.adventcalendar.adventcalendarUpdateErrorSpanAttributes === 'function') { const selectedField = data.element.attr('id'); ACC.adventcalendar.adventcalendarUpdateErrorSpanAttributes(selectedField, false); } data.fv.disableSubmitButtons(false); // ✅ Remove aria-invalid on field $(data.element).attr('aria-invalid', 'false'); /* Remove the field messages */ $errorContent = data.element.closest('.form-combo-molecule').find('.errors'); $errorContent.find('.swa-form-input__error-message[data-field="' + data.field + '"]').remove(); $errorContent.find('.swa-form-input__error-message[data-fv-result="INVALID"]').removeAttr("style"); }) .on('success.form.fv', function() { var formId = 'ShortContactTopic'; if (!formId || formId === 'cfRequest' || formId === 'cfResponse') { formId = 'contactTopicFormDefinition'; } ACC.tracking.pushFormSubmit(formId); }); var replaceDatePatternWithValue = function(mandatory, fieldConfigCode, fieldConfigPattern) { var date = fieldConfigPattern.toUpperCase(); var year = $("#" + fieldConfigCode + "_year").val(); var month = $("#" + fieldConfigCode + "_month").val(); var day = $("#" + fieldConfigCode + "_day").val(); date = date.replace(/[Y]+/, year); date = date.replace(/[M]+/, month); date = date.replace(/[D]+/, day); var hiddenDateField = $('.js-' + fieldConfigCode + '_hidden'); if (mandatory) { hiddenDateField.val(date); } else { hiddenDateField.val(date == "" ? "" : date); } }; var triggerFormValidation = function(fieldId, mandatory, fieldCode, dateFormat) { replaceDatePatternWithValue(mandatory, fieldCode, dateFormat); $('.js-fieldCode').formValidation('revalidateField', 'values[fieldCode_'+ fieldId + ']'); }; var removeDateMoleculeError = function(molecule) { if(molecule.hasClass('has-error')){ molecule.removeClass('has-error'); molecule.find('.help-block').find('span').remove(); } };
2

Temat

Zaznacz jeden z następujących tematów

Please select your subject *
What is the tracking link of my order?
An item from my order arrived damaged
An item from my order is missing
Can you change my delivery address?
How can I send my order to another country?
Other
Is my item repairable?
What is the status of my repair?
How much does a repair cost?
Why do I have to visit a store to have an item repaired?
Other
Can you advise on the product size?
Where is this product available?
What colour options are available?
How can I order a Swarovski Created Diamonds Made-to-order product?
Other
My postal address is not recognized as a valid address
I am unable to complete the checkout process
Can you reset my account password?
I am unable to login to my account
Other
Other
Data Subject Access Request
Right to Erasure (‘right to be forgotten’)
Complaints
How do I renew my membership?
How do I become an SCS member?
When will my membership pack arrive?
Other
How do I unsubscribe from the Swarovski Club newsletter?
Why am I still receiving Email from Swarovski after unsubscribing from the newsletter?
My Swarovski Club Voucher does not work
Can my Swarovski Club discount voucher be extended?
Can my Swarovski Club discount voucher be used on sale items?
How do I redeem by birthday gift voucher?
Other
Is my product covered by warranty?
What is your warranty policy?
Other
Can I exchange a product from my online order?
Can I exchange my online purchase in a store?
Can I exchange a product purchased in store another country?
Other
Why is my electronic gift card not accepted online?
Can I use more than 1 electronic gift card as payment?
How do I pay for an online purchase with an electronic gift card?
Why has my payment been rejected?
Why has my payment been refunded?
Other
Can you provide information on the current promotion?
Can you extend the promotion?
Why did my purchase not qualify for the promotion?
Other
Can you resend my order confirmation?
What is the status of my online order?
Can I cancel my entire online order?
Can I cancel part of my online order?
Can you change my billing address?
How do I return my online order?
What is your online return policy?
What is the status of my online refund?
Other
$(this).closest('#contactSubjectFormConfigWrapper').find('.js-contactSubjectFormConfig') .formValidation( { autoFocus: false, framework: 'bootstrap', icon: { valid: null, invalid: null, validating: null }, fields: { 'values[contactSubjectFormDefinition_contactSubject]': { trigger: 'change', validators: { notEmpty: { message: 'Please select your subject', message_en: 'Please select your subject' } } } } } ) .on('success.field.fv', function() { /* note: we need to check if there is an error in the form, as the plugin does a validation on field level. Validating the whole form on blur of a field is no option, as the customer does not want to see error messages on all fields when entering one field. In case of an error on at least one field we disable the submit button manually */ var $form = $(this).closest('form'); if ($form.find('.form-group.has-error').length > 0) { var $button = $form.find('.js-button'); if (!$button.hasClass('disabled')) { $button.addClass('disabled'); } } }) .on('err.field.fv', function(e, data) { /* * On error field validation, enable submit button. * Source: https://old.formvalidation.io/examples/enabling-submit-button/ */ data.fv.disableSubmitButtons(false); $(data.element).attr('aria-invalid', 'true'); // Get error messages var messages = data.fv.getMessages(data.element); // ✅ Announce error to screen readers if ($(data.element).closest('.js-advent-calendar-container').length > 0 && messages.length > 0 && window.ACC && window.ACC.adventcalendar && typeof ACC.adventcalendar.adventcalendarUpdateErrorSpanAttributes === 'function') { const selectedField = data.element.attr('id'); ACC.adventcalendar.adventcalendarUpdateErrorSpanAttributes(selectedField, true); ACC.adventcalendar.announceToScreenReader('Error: ' + messages[0]); } if(data.element.closest('.form-combo-molecule').length){ /* Get the messages of field */ var messages = data.fv.getMessages(data.element); /* Get the error message content of the field */ var errorContent = data.element.closest('.form-combo-molecule').find('.errors'); /* Get the hidden error message of the field */ var errorField = errorContent.find('.swa-form-input__error-message[data-field="' + data.field + '"][style="display: none;"]'); /* Loop over the messages */ for (var i in messages) { if (errorField[1] == undefined) { var newErrorContainer = document.createElement("small"); $(newErrorContainer).attr("class", "swa-form-input__error-message swa-headline-sans--supertiny"); $(newErrorContainer).attr("data-field", data.field); $(newErrorContainer).attr("data-fv-validator", "callback"); $(newErrorContainer).attr("data-fv-for", $(data.element[0]).attr("name") ); $(newErrorContainer).attr("data-fv-result", "INVALID"); $(newErrorContainer).attr("data-tracked", "true"); $(newErrorContainer).html(messages[i]); if (errorContent.text().includes(messages[i])) { $(newErrorContainer).hide(); } errorContent.append(newErrorContainer); } } } }) .on('success.field.fv', function(e, data) { /* * On success field validation, enable submit button. * Source: https://old.formvalidation.io/examples/enabling-submit-button/ */ if ($(data.element).closest('.js-advent-calendar-container').length > 0 && window.ACC && window.ACC.adventcalendar && typeof ACC.adventcalendar.adventcalendarUpdateErrorSpanAttributes === 'function') { const selectedField = data.element.attr('id'); ACC.adventcalendar.adventcalendarUpdateErrorSpanAttributes(selectedField, false); } data.fv.disableSubmitButtons(false); // ✅ Remove aria-invalid on field $(data.element).attr('aria-invalid', 'false'); /* Remove the field messages */ $errorContent = data.element.closest('.form-combo-molecule').find('.errors'); $errorContent.find('.swa-form-input__error-message[data-field="' + data.field + '"]').remove(); $errorContent.find('.swa-form-input__error-message[data-fv-result="INVALID"]').removeAttr("style"); }) .on('success.form.fv', function() { var formId = 'ShortContactSubject'; if (!formId || formId === 'cfRequest' || formId === 'cfResponse') { formId = 'contactSubjectFormDefinition'; } ACC.tracking.pushFormSubmit(formId); }); var replaceDatePatternWithValue = function(mandatory, fieldConfigCode, fieldConfigPattern) { var date = fieldConfigPattern.toUpperCase(); var year = $("#" + fieldConfigCode + "_year").val(); var month = $("#" + fieldConfigCode + "_month").val(); var day = $("#" + fieldConfigCode + "_day").val(); date = date.replace(/[Y]+/, year); date = date.replace(/[M]+/, month); date = date.replace(/[D]+/, day); var hiddenDateField = $('.js-' + fieldConfigCode + '_hidden'); if (mandatory) { hiddenDateField.val(date); } else { hiddenDateField.val(date == "" ? "" : date); } }; var triggerFormValidation = function(fieldId, mandatory, fieldCode, dateFormat) { replaceDatePatternWithValue(mandatory, fieldCode, dateFormat); $('.js-fieldCode').formValidation('revalidateField', 'values[fieldCode_'+ fieldId + ']'); }; var removeDateMoleculeError = function(molecule) { if(molecule.hasClass('has-error')){ molecule.removeClass('has-error'); molecule.find('.help-block').find('span').remove(); } };
Subject *
$(this).closest('#contactSubjectOtherFormConfigWrapper').find('.js-contactSubjectOtherFormConfig') .formValidation( { autoFocus: false, framework: 'bootstrap', icon: { valid: null, invalid: null, validating: null }, fields: { 'values[contactSubjectOtherFormDefinition_contactSubjectTxt]': { trigger: 'keyup', validators: { notEmpty: { message: 'Please enter your subject', message_en: 'Please enter your subject' }, stringLength: { message: 'The number of characters for this field must be between 0 and 40', message_en: 'The number of characters for this field must be between 0 and 40', min: 0 , max: 40 }, } } } } ) .on('success.field.fv', function() { /* note: we need to check if there is an error in the form, as the plugin does a validation on field level. Validating the whole form on blur of a field is no option, as the customer does not want to see error messages on all fields when entering one field. In case of an error on at least one field we disable the submit button manually */ var $form = $(this).closest('form'); if ($form.find('.form-group.has-error').length > 0) { var $button = $form.find('.js-button'); if (!$button.hasClass('disabled')) { $button.addClass('disabled'); } } }) .on('err.field.fv', function(e, data) { /* * On error field validation, enable submit button. * Source: https://old.formvalidation.io/examples/enabling-submit-button/ */ data.fv.disableSubmitButtons(false); $(data.element).attr('aria-invalid', 'true'); // Get error messages var messages = data.fv.getMessages(data.element); // ✅ Announce error to screen readers if ($(data.element).closest('.js-advent-calendar-container').length > 0 && messages.length > 0 && window.ACC && window.ACC.adventcalendar && typeof ACC.adventcalendar.adventcalendarUpdateErrorSpanAttributes === 'function') { const selectedField = data.element.attr('id'); ACC.adventcalendar.adventcalendarUpdateErrorSpanAttributes(selectedField, true); ACC.adventcalendar.announceToScreenReader('Error: ' + messages[0]); } if(data.element.closest('.form-combo-molecule').length){ /* Get the messages of field */ var messages = data.fv.getMessages(data.element); /* Get the error message content of the field */ var errorContent = data.element.closest('.form-combo-molecule').find('.errors'); /* Get the hidden error message of the field */ var errorField = errorContent.find('.swa-form-input__error-message[data-field="' + data.field + '"][style="display: none;"]'); /* Loop over the messages */ for (var i in messages) { if (errorField[1] == undefined) { var newErrorContainer = document.createElement("small"); $(newErrorContainer).attr("class", "swa-form-input__error-message swa-headline-sans--supertiny"); $(newErrorContainer).attr("data-field", data.field); $(newErrorContainer).attr("data-fv-validator", "callback"); $(newErrorContainer).attr("data-fv-for", $(data.element[0]).attr("name") ); $(newErrorContainer).attr("data-fv-result", "INVALID"); $(newErrorContainer).attr("data-tracked", "true"); $(newErrorContainer).html(messages[i]); if (errorContent.text().includes(messages[i])) { $(newErrorContainer).hide(); } errorContent.append(newErrorContainer); } } } }) .on('success.field.fv', function(e, data) { /* * On success field validation, enable submit button. * Source: https://old.formvalidation.io/examples/enabling-submit-button/ */ if ($(data.element).closest('.js-advent-calendar-container').length > 0 && window.ACC && window.ACC.adventcalendar && typeof ACC.adventcalendar.adventcalendarUpdateErrorSpanAttributes === 'function') { const selectedField = data.element.attr('id'); ACC.adventcalendar.adventcalendarUpdateErrorSpanAttributes(selectedField, false); } data.fv.disableSubmitButtons(false); // ✅ Remove aria-invalid on field $(data.element).attr('aria-invalid', 'false'); /* Remove the field messages */ $errorContent = data.element.closest('.form-combo-molecule').find('.errors'); $errorContent.find('.swa-form-input__error-message[data-field="' + data.field + '"]').remove(); $errorContent.find('.swa-form-input__error-message[data-fv-result="INVALID"]').removeAttr("style"); }) .on('success.form.fv', function() { var formId = 'contactSubjectOther'; if (!formId || formId === 'cfRequest' || formId === 'cfResponse') { formId = 'contactSubjectOtherFormDefinition'; } ACC.tracking.pushFormSubmit(formId); }); var replaceDatePatternWithValue = function(mandatory, fieldConfigCode, fieldConfigPattern) { var date = fieldConfigPattern.toUpperCase(); var year = $("#" + fieldConfigCode + "_year").val(); var month = $("#" + fieldConfigCode + "_month").val(); var day = $("#" + fieldConfigCode + "_day").val(); date = date.replace(/[Y]+/, year); date = date.replace(/[M]+/, month); date = date.replace(/[D]+/, day); var hiddenDateField = $('.js-' + fieldConfigCode + '_hidden'); if (mandatory) { hiddenDateField.val(date); } else { hiddenDateField.val(date == "" ? "" : date); } }; var triggerFormValidation = function(fieldId, mandatory, fieldCode, dateFormat) { replaceDatePatternWithValue(mandatory, fieldCode, dateFormat); $('.js-fieldCode').formValidation('revalidateField', 'values[fieldCode_'+ fieldId + ']'); }; var removeDateMoleculeError = function(molecule) { if(molecule.hasClass('has-error')){ molecule.removeClass('has-error'); molecule.find('.help-block').find('span').remove(); } };

{"didYouKnowLabel":"Did you know:","product-size":["Aby poznać swój idealny rozmiar, skorzystaj z naszego przewodnika rozmiarów.","Więcej informacji znajdziesz w naszym <a href="/s-swarovski-ring-size/" target="_blank" rel="noopener noreferrer">Tabele rozmiarów</a>."],"product-availability":["Aby sprawdzić dostępność w sklepie, wykonaj następujące kroki: <br/>1. Wybierz produkt z naszego sklepu internetowego. <br/>2. Na stronie szczegółów produktu, obok "Dodaj do koszyka", wybierz "Znajdź w sklepie", a następnie kliknij "Click & Collect: Sprawdź dostępność". <br/>3. Wprowadź swoją aktualną lub preferowaną lokalizację i przeglądaj dostępne opcje.","Więcej informacji znajdziesz w naszych <a href="/s-faq-order/?accordionID=CC-Overview_AE-product_availibility" target="_blank" rel="noopener noreferrer">FAQ</a>."],"product-colors":["Użyj filtra kolorów na stronie listy produktów lub sprawdź warianty kolorystyczne na stronie produktu, aby znaleźć pożądaną wersję."],"promotion-info":["Swarovski oferuje promocje przez cały rok; aby być na bieżąco, zalecamy zapisanie się do naszego newslettera."],"promotion-extension":["Nasze promocje zawsze mają określony czas ważności. Po upływie daty zakończenia kody rabatowe przestają działać lub powraca cena standardowa. Zamówienia złożone przed rozpoczęciem promocji nie mogą zostać zmienione, aby skorzystać z aktualnej promocji."],"promotion-quality":["Sprawdź warunki promocji, aby upewnić się, że Twój produkt kwalifikuje się do promocji i potwierdź, że Twoje zamówienie zostało złożone w okresie promocyjnym.","Więcej szczegółów znajdziesz w naszych <a href="/s-faq-order/?accordionID=CC-Overview_AE-purchase_qualify" target="_blank" rel="noopener noreferrer">FAQ</a>."],"order-resendOrderConfirmation":["Oczywiście! Jeśli chcesz sprawdzić status swojego zamówienia, odwiedź <a href="/s-faq-orderstatus/Swarovski-Order-Status-FAQs/" target="_blank" rel="noopener noreferrer">status zamówienia</a>. Jeśli nie znasz numeru zamówienia, podaj swój adres e-mail, a wyślemy potwierdzenie zamówienia ponownie."],"order-orderStatus":["Możesz łatwo sprawdzić status swojego zamówienia tutaj <a href="/s-faq-orderstatus/Swarovski-Order-Status-FAQs/" target="_blank" rel="noopener noreferrer">Status zamówienia</a>."],"order-cancelEntire":["Anulowanie zamówienia może być możliwe w ciągu około 15 minut od otrzymania potwierdzenia zamówienia.","Więcej informacji znajdziesz w naszych <a href="/s-faq-order/?accordionID=CC-Overview_AE-cancel_order_new" target="_blank" rel="noopener noreferrer">FAQ</a>."],"order-cancelPartially":["Nie ma możliwości częściowego anulowania zamówienia – można jedynie anulować całe zamówienie w ciągu około 15 minut od otrzymania potwierdzenia.","Więcej informacji znajdziesz w <a href="/s-faq-order/?accordionID=CC-Overview_AE-cancel_order_new" target="_blank" rel="noopener noreferrer">FAQ</a>."],"order-changeBillingAddress":["Nie możemy zmienić adresu rozliczeniowego."],"order-return":["Możesz postępować zgodnie z krokami opisanymi w naszym <a href="/s-faq-return/?accordionID=CC-Overview_AE-how-do-I-return-my-item" target="_blank" rel="noopener noreferrer">FAQ</a>, aby uzyskać szczegółowe wskazówki."],"order-returnPolicy":["Aby uzyskać więcej informacji o naszej polityce zwrotów, kliknij tutaj <a href="/s-faq-return/?accordionID=CC-Overview_AE-can-I-do-a-return" target="_blank" rel="noopener noreferrer">FAQ</a>"],"order-onlineRefundStatus":["Zwroty zajmują około 14 dni roboczych. Otrzymasz e-mail z potwierdzeniem, gdy otrzymamy Twój zwrot, a zwrot pieniędzy może zająć do 10 dni roboczych, aby pojawił się na Twoim koncie.","Więcej szczegółów znajdziesz w naszych <a href="/s-faq-return/?accordionID=CC-Purchase-Returns_AE-when-will-I-receive-my-refund" target="_blank" rel="noopener noreferrer">FAQ</a>."],"exchange-exchangeProduct":["Wymiany nie są możliwe. Prosimy o zwrot niechcianych produktów zgodnie z naszą polityką zwrotów i złożenie nowego zamówienia na odpowiedni produkt.","Więcej szczegółów znajdziesz w naszych <a href="/s-faq-return/?accordionID=CC-Purchase-Returns_AE-exchange-purchase" target="_blank" rel="noopener noreferrer">FAQ</a>."],"exchange-exchangeInStore":["Możesz znaleźć szczegółowe informacje w naszym <a href="/s-faq-return/?accordionID=CC-Purchase-Returns_AE-exchange-product" target="_blank" rel="noopener noreferrer">FAQ</a>."],"exchange-exchangeProductFromAnotherCountry":["Z różnych powodów firma Swarovski nie ma międzynarodowej polityki wymiany ani zwrotu. W związku z tym nie możemy wymienić, zastąpić ani zaakceptować zwrotu produktów zakupionych w innych krajach."],"delivery-tracking":["Otrzymałeś link do śledzenia razem z potwierdzeniem wysyłki. Możesz również sprawdzić status przesyłki tutaj: <a href="/s-faq-orderstatus/Swarovski-Order-Status-FAQs/" target="_blank" rel="noopener noreferrer">order status</a>."],"delivery-damagedItem":["Przepraszamy za wszelkie niedogodności. Prosimy o kontakt z naszym działem obsługi klienta i wysłanie zdjęć przesyłki oraz uszkodzonego produktu, a my poszukamy dla Państwa rozwiązania.znajdziemy dla Państwa rozwiązanie."],"delivery-missingItem":["Przepraszamy za wszelkie niedogodności. Czy przesyłka została uszkodzona? Prosimy o kontakt z naszym działem obsługi klienta i wysłanie zdjęć przesyłki, a my to sprawdzimy i znajdziemy dla Państwa rozwiązanie."],"delivery-changeAddress":["Zmiana adresu dostawy lub daty może być niemożliwa, gdy przesyłka jest już w drodze. Możesz skorzystać z portalu internetowego naszego partnera dostaw, aby zarządzać opcjami dostawy.","Więcej szczegółów znajdziesz w naszych <a href="/s-faq-shipping/Swarovski-Shipping-FAQs/?accordionID=CC-Overview_AE-delivery_address" target="_blank" rel="noopener noreferrer">FAQ</a>."],"delivery-changeCountry":["Dostawa do innego kraju/regionu nie jest możliwa. Proszę złożyć zamówienie w sklepie internetowym miejsca docelowego. Aby zmienić kraj/region i język, kliknij odpowiednią nazwę w menu."],"payment-electronicCard":["Elektronicznych kart podarunkowych używa się na etapie płatności. Upewnij się, że poprawnie wprowadzasz 10- lub 16-cyfrowy numer karty. Sprawdź, czy nie wpisujesz kodu zniżkowego albo kuponu rabatowego.","Więcej informacji znajdziesz tutaj <a href="/s-faq-giftcard-voucher/Swarovski-Gift-Cards-Voucher-FAQs/?accordionID=CC-Purchase-Vouchers_AE-voucher-not-working" target="_blank" rel="noopener noreferrer">FAQ</a>"],"payment-multipleElectronicGiftCards":["Aby zapłacić kilkoma kartami podarunkowymi, postępuj zgodnie z krokami łączenia kart podarunkowych na etapie płatności."],"payment-payWith":["Aby zrealizować swoją kartę podarunkową, postępuj zgodnie z prostymi krokami opisanymi w naszym <a href="/s-faq-giftcard-voucher/Swarovski-Gift-Cards-Voucher-FAQs/?accordionID=CC-Purchase-Vouchers_AE-redeem-gift-card" target="_blank" rel="noopener noreferrer">FAQ</a>."],"payment-rejection":["Proszę upewnić się, że szczegóły płatności i dane osobowe są poprawne. Aby uzyskać więcej informacji, sprawdź nasze <a href="/s-faq-payment/Swarovski-Payment-FAQs/?accordionID=CC-Purchase-Payment_AE-methods" target="_blank" rel="noopener noreferrer">FAQ</a>."],"website-unableToCheckout":["Sprawdź informacje tutaj przed skontaktowaniem się z nami <a href="/s-faq-order/?accordionID=CC-Purchase-Order_AE-website-issue" target="_blank" rel="noopener noreferrer">Problem z witryną FAQ</a>."],"website-resetPassword":["Proszę użyć funkcji „Nie pamiętam hasła”.","Więcej informacji znajdziesz tutaj <a href="/s-faq-order/?accordionID=CC-Purchase-Order_AE-reset_pasword" target="_blank" rel="noopener noreferrer">FAQ</a>."],"website-unableToLogin":["Proszę użyć funkcji „Nie pamiętam hasła”.","Więcej informacji znajdziesz tutaj <a href="/s-faq-order/?accordionID=CC-Purchase-Order_AE-reset_pasword" target="_blank" rel="noopener noreferrer">FAQ</a>."],"swarovskiclub-unsubscribeNewsletter":["Przesyłamy dwa rodzaje e-maili: newsletter z promocjami i kolekcjami oraz aktualizacje dotyczące członkostwa (informacje o nagrodach, statusie lub zmianach w programie). Aby zrezygnować z newslettera, kliknij „Usuń subskrypcję” na dole wiadomości lub zmień ustawienia w zakładce „Moje konto” na Swarovski.com. Jeśli chcesz zrezygnować ze wszystkich wiadomości, w tym dotyczących nagród, skontaktuj się z Obsługą Klienta w celu usunięcia swojego konta."],"swarovskiclub-emailAfterUnsubscribe":["Jeśli zrezygnowałeś z naszego newslettera, ale nadal jesteś członkiem Swarovski Club, wciąż będziesz otrzymywać e-maile o nagrodach, statusie lub zmianach w programie. Aby zrezygnować z takich wiadomości, skontaktuj się z Obsługą Klienta w celu zamknięcia konta. Możesz również otrzymywać aktualizacje od jednego z naszych partnerów."],"swarovskiclub-voucherNotWorking":["Aby uzyskać więcej szczegółów, zapoznaj się z artykułem w naszym FAQ na temat członkostwa w klubie i wykorzystania kuponów rabatowych <a href="/s-faq-club/?accordionID=CC-Membership-Swa-Club_AE-not-use-discount-voucher" target="_blank" rel="noopener noreferrer">FAQ</a>."],"swarovskiclub-extendedVoucher":["Bony rabatowe Swarovski Club nie podlegają przedłużeniu. Okres ważności jest wskazany w Warunkach zawartych w otrzymanym mailu z nagrodą."],"swarovskiclub-saleItem":["Bony rabatowe Swarovski Club nie mogą być wykorzystane na przecenione artykuły. Więcej szczegółów znajdziesz w Warunkach w otrzymanym mailu z nagrodą."],"swarovskiclub-birthdayGiftVoucher":["Swój prezent możesz odebrać w wybranym sklepie. Jeśli nie masz preferowanego sklepu lub nie wiesz, do którego się udać, zaloguj się na swoje konto i wskaż sklep, który Ci odpowiada. Alternatywnie skorzystaj z naszej Wyszukiwarki Sklepów, aby znaleźć placówkę oferującą program Swarovski Club. W niektórych krajach klienci mogą również odebrać prezent online podczas kolejnych zakupów internetowych."],"scsmembership-renewMembership":["Aby odnowić członkostwo, wykonaj proste kroki opisane w naszym <a href="/s-faq-scs/Swarovski-Crystal-Society-FAQs-/?accordionID=SCS-LP_FAQ_AE-how-can-I-renew-membership" target="_blank" rel="noopener noreferrer">FAQ</a>"],"scsmembership-becomeMember":["Aby dołączyć do programu, wykonaj proste kroki opisane w naszym <a href="/s-faq-scs/Swarovski-Crystal-Society-FAQs-/?accordionID=CC-Membership-SCS_AE-how-to-join-renew-online" target="_blank" rel="noopener noreferrer">FAQ</a>"],"scsmembership-membershipArrival":["Pakiety członkowskie są zazwyczaj wysyłane 4-6 tygodni po rejestracji, a nowe lub odnowione członkostwa są wysyłane pierwszego dnia następnego miesiąca. Dla członkostw 3-letnich (2. i 3. rok) pakiety są wysyłane na początku roku, dzięki czemu członkowie mogą cieszyć się corocznym prezentem i odkrywać nowości."],"warranty-itemCoveredByWarrant":["Swarovski oferuje pełną gwarancję na wady produkcyjne i materiałowe na produkty zakupione w oficjalnych sklepach lub u autoryzowanych sprzedawców.","Więcej szczegółów na temat naszej polityki gwarancyjnej znajdziesz w naszych <a href="/s-faq-warranty/?accordionID=CC-Products-Warranty_AE-policy" target="_blank" rel="noopener noreferrer">FAQ</a>."],"warranty-warrantyPolicy":["Wszystkie informacje dotyczące naszej polityki gwarancyjnej znajdziesz w odpowiedniej sekcji <a href="/s-faq-warranty/?accordionID=CC-Products-Warranty_AE-policy" target="_blank" rel="noopener noreferrer">FAQ</a>."],"repair-repairableItem":["Aby uzyskać więcej informacji, przynieś swój produkt oraz dowód zakupu do najbliższego sklepu Swarovski w celu oceny.","Najbliższy sklep możesz znaleźć, korzystając z naszego <a href="/store-finder/?features=repairService" target="_blank" rel="noopener noreferrer">Lokalizatora sklepów</a>."],"repair-status":["Możesz łatwo sprawdzić status swojej naprawy tutaj <a href="/s-faq-repairs/Swarovski-Repair-Replacement-FAQs/?accordionID=CheckRepairStatusThemedAccordionEntryComponent" target="_blank" rel="noopener noreferrer">Wyświetl status naprawy</a>."],"repair-cost":["Przynieś swój produkt oraz dowód zakupu do najbliższego sklepu Swarovski w celu oceny.","Najbliższy sklep możesz znaleźć, korzystając z naszego <a href="/store-finder/?features=repairService" target="_blank" rel="noopener noreferrer">Lokalizatora sklepów</a>."],"repair-visitStore":["Należy udać się do sklepu, ponieważ tylko autoryzowane sklepy dysponują odpowiednimi narzędziami do oceny i naprawy produktu."]}
3

Formy kontaktu

Wybierz preferowaną formę kontaktu

Email

Estimated waiting time: 1- 3 business days

If you have a question or require further information, then please feel free to contact us using the form below. We would be happy to help.

First name *
Last name *
Telephone
Email *
Country *
Afghanistan
Afrique du Sud
Albanie
Algérie
Allemagne
Andorre
Angola
Anguilla
Antarctique
Antigua-et-Barbuda
Arabie saoudite
Argentine
Arménie
Aruba
Australie
Autriche
Azerbaïdjan
Bahamas
Bahreïn
Bangladesh
Barbade
Belgique
Belize
Bermudes
Bhoutan
Biélorussie
Bolivie
Bonaire, Saint-Eustache et Saba
Bosnie-Herzégovine
Botswana
Brunei Darussalam
Brésil
Bulgarie
Burkina Faso
Burundi
Bénin
Cambodge
Cameroun
Canada
Cap-Vert
Chili
Chine continentale
Chypre
Colombie
Comores
Congo
Congo, République démocratique du
Corée, République de
Corée, République populaire démocratique de
Costa Rica
Croatie
Cuba
Curaçao
Côte d’Ivoire
Danemark
Djibouti
Dominique
Espagne
Estonie
Fidji
Finlande
France
Gabon
Gambie
Ghana
Gibraltar
Grenade
Groenland
Grèce
Guadeloupe
Guam
Guatemala
Guernesey
Guinée
Guinée Équatoriale
Guinée-Bissau
Guyana
Guyane
Géorgie
Géorgie du Sud et îles Sandwich du Sud
Haïti
Honduras
Hong Kong, RAS
Hongrie
Inde
Indonésie
Irak
Iran
Irlande
Islande
Israël
Italie
Jamaïque
Japon
Jersey
Jordanie
Kazakhstan
Kenya
Kirghizistan
Kiribati
Koweït
Lesotho
Lettonie
Liban
Liberia
Liechtenstein
Lituanie
Luxembourg
Macao, RAS
Macédoine
Madagascar
Malaisie
Malawi
Maldives
Mali
Malte
Maroc
Martinique
Mauritanie
Mayotte
Mexique
Micronésie, États fédérés de
Moldavie
Monaco
Mongolie
Montserrat
Monténégro
Mozambique
Myanmar
Namibie
Nauru
Nicaragua
Niger
Nigeria
Niue
Norvège
Nouvelle-Calédonie
Nouvelle-Zélande
Népal
Oman
Ouganda
Ouzbékistan
Pakistan
Palaos
Panama
Papouasie-Nouvelle-Guinée
Paraguay
Pays-Bas
Philippines
Pitcairn
Pologne
Polynésie française
Porto Rico
Portugal
Pérou
Qatar
Roumanie
Royaume-Uni
Rwanda
Région de Taïwan
République arabe syrienne
République centrafricaine
République dominicaine
République démocratique populaire lao
République libyenne arabe
République tchèque
Réunion
Sahara occidental
Saint Barthélemy
Saint-Christophe-et-Niévès
Saint-Marin
Saint-Martin (partie française)
Saint-Martin (partie néerlandaise)
Saint-Pierre-et-Miquelon
Saint-Siège (État de la Cité du Vatican)
Saint-Vincent et les Grenadines
Sainte-Hélène, Ascension et Tristan da Cunha
Sainte-Lucie
Salvador
Samoa
Samoa américaines
Sao Tomé-et-Principe
Serbie
Seychelles
Sierra Leone
Singapour
Slovaquie
Slovénie
Somalie
Soudan
Sri Lanka
Suisse
Suriname
Suède
Svalbard et Jan Mayen
Swaziland
Sénégal
Tadjikistan
Tanzanie
Tchad
Terres australes françaises
Territoire britannique de l’océan Indien
Territoire palestinien
Thaïlande
Timor oriental
Togo
Tokelaou
Tonga
Trinité-et-Tobago
Tunisie
Turkménistan
Turquie
Tuvalu
Ukraine
Uruguay
Vanuatu
Venezuela
Vietnam
Wallis-et-Futuna
Yémen
Zambie
Zimbabwe
Égypte
Émirats arabes unis
Équateur
Érythrée
États-Unis
Éthiopie
Île Christmas
Île Maurice
Île Norfolk
Île de Bouvet
Île de Man
Îles Caïmans
Îles Cocos (Keeling)
Îles Cook
Îles Féroé
Îles Heard-et-MacDonald
Îles Malouines
Îles Mariannes du Nord
Îles Marshall
Îles Salomon
Îles Turques-et-Caïques
Îles Vierges britanniques
Îles Vierges des États-Unis
Îles mineures éloignées des États-Unis
Îles Åland
Order Number
Repair Number
Subject *
Are you a member of the Swarovski Club loyalty program?
Are you a member of the Swarovski Crystal Society (SCS)?
Membership number *
1000 characters remaining
Please select your topic *
Online Orders
Swarovski Club
Delivery
Exchange
Warranty
Repair
Product Information
Promotions
Payment
SCS membership
Website Issue
Data Privacy
Other
Please select your subject *
What is the tracking link of my order?
An item from my order arrived damaged
An item from my order is missing
Can you change my delivery address?
How can I send my order to another country?
Other
Is my item repairable?
What is the status of my repair?
How much does a repair cost?
Why do I have to visit a store to have an item repaired?
Other
Can you advise on the product size?
Where is this product available?
What colour options are available?
How can I order a Swarovski Created Diamonds Made-to-order product?
Other
My postal address is not recognized as a valid address
I am unable to complete the checkout process
Can you reset my account password?
I am unable to login to my account
Other
Other
Data Subject Access Request
Right to Erasure (‘right to be forgotten’)
Complaints
How do I renew my membership?
How do I become an SCS member?
When will my membership pack arrive?
Other
How do I unsubscribe from the Swarovski Club newsletter?
Why am I still receiving Email from Swarovski after unsubscribing from the newsletter?
My Swarovski Club Voucher does not work
Can my Swarovski Club discount voucher be extended?
Can my Swarovski Club discount voucher be used on sale items?
How do I redeem by birthday gift voucher?
Other
Is my product covered by warranty?
What is your warranty policy?
Other
Can I exchange a product from my online order?
Can I exchange my online purchase in a store?
Can I exchange a product purchased in store another country?
Other
Why is my electronic gift card not accepted online?
Can I use more than 1 electronic gift card as payment?
How do I pay for an online purchase with an electronic gift card?
Why has my payment been rejected?
Why has my payment been refunded?
Other
Can you provide information on the current promotion?
Can you extend the promotion?
Why did my purchase not qualify for the promotion?
Other
Can you resend my order confirmation?
What is the status of my online order?
Can I cancel my entire online order?
Can I cancel part of my online order?
Can you change my billing address?
How do I return my online order?
What is your online return policy?
What is the status of my online refund?
Other

Please note that by clicking the ‘Send’ button you accept that the conversation and further data provided by you will be stored by Swarovski. For further information, please read our data privacy policy.

* Mandatory Fields
$(this).closest('#be-contactEmailFormConfigWrapper').find('.js-be-contactEmailFormConfig') .formValidation( { autoFocus: false, framework: 'bootstrap', icon: { valid: null, invalid: null, validating: null }, fields: { 'values[contactEmailFormDefinition_title]': { trigger: 'change', validators: { } }, 'values[contactEmailFormDefinition_firstName]': { trigger: 'blur', validators: { callback: { callback: function(value, validator, $field) { var messages = []; var messagesEN = []; var errorOccured = false; if ($field.attr('regexCheckDisabled') === 'true') { return true; } if (!value.trim().match(new RegExp('^[. \\u3000\'\\-a-zA-Z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02B8\\u0370-\\u03FF\\u1F00-\\u1FFF\\u0400-\\u052F\\u1C80-\\u1C8F\\u2DE0-\\u2DFF\\uA640-\\uA69F\\u4E00-\\u9FFF\\u3400-\\u4DBF\\u3040-\\u30FF\\uF900-\\uFAFF\\uFF66-\\uFF9F\\u1100-\\u11FF\\u3130-\\u318F\\uA960-\\uA97F\\uAC00-\\uD7FF\\u3005\\u3006\\u3024\\u3029\\u3031-\\u3035\\u0E00-\\u0E7F]*$', ''))) { messages.push('Only letters are allowed'); messagesEN.push('Only letters are allowed'); errorOccured |= true; } if (!value.trim().match(new RegExp('(?:^$)|(?:^.*[a-zA-Z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02B8\\u0370-\\u03FF\\u1F00-\\u1FFF\\u0400-\\u052F\\u1C80-\\u1C8F\\u2DE0-\\u2DFF\\uA640-\\uA69F]{2}.*$)|(?:^.*[^a-zA-Z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02B8\\u0370-\\u03FF\\u1F00-\\u1FFF\\u0400-\\u052F\\u1C80-\\u1C8F\\u2DE0-\\u2DFF\\uA640-\\uA69F. \\u3000\'\\-].*$)', ''))) { messages.push('Minimum length is 2 characters'); messagesEN.push('Minimum length is 2 characters'); errorOccured |= true; } if (errorOccured) { return { valid: false, message: messages.join('<br/>'), message_en: messagesEN } } else { return true; } } }, notEmpty: { message: 'Please enter your first name.', message_en: 'Please enter your first name.' }, stringLength: { message: 'You have exceeded the maximum length of 40 characters for this field', message_en: 'You have exceeded the maximum length of 40 characters for this field', max: 40 }, } }, 'values[contactEmailFormDefinition_lastName]': { trigger: 'blur', validators: { callback: { callback: function(value, validator, $field) { var messages = []; var messagesEN = []; var errorOccured = false; if ($field.attr('regexCheckDisabled') === 'true') { return true; } if (!value.trim().match(new RegExp('^[. \\u3000\'\\-a-zA-Z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02B8\\u0370-\\u03FF\\u1F00-\\u1FFF\\u0400-\\u052F\\u1C80-\\u1C8F\\u2DE0-\\u2DFF\\uA640-\\uA69F\\u4E00-\\u9FFF\\u3400-\\u4DBF\\u3040-\\u30FF\\uF900-\\uFAFF\\uFF66-\\uFF9F\\u1100-\\u11FF\\u3130-\\u318F\\uA960-\\uA97F\\uAC00-\\uD7FF\\u3005\\u3006\\u3024\\u3029\\u3031-\\u3035\\u0E00-\\u0E7F]*$', ''))) { messages.push('Only letters are allowed'); messagesEN.push('Only letters are allowed'); errorOccured |= true; } if (!value.trim().match(new RegExp('(?:^$)|(?:^.*[a-zA-Z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02B8\\u0370-\\u03FF\\u1F00-\\u1FFF\\u0400-\\u052F\\u1C80-\\u1C8F\\u2DE0-\\u2DFF\\uA640-\\uA69F]{2}.*$)|(?:^.*[^a-zA-Z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02B8\\u0370-\\u03FF\\u1F00-\\u1FFF\\u0400-\\u052F\\u1C80-\\u1C8F\\u2DE0-\\u2DFF\\uA640-\\uA69F. \\u3000\'\\-].*$)', ''))) { messages.push('Minimum length is 2 characters'); messagesEN.push('Minimum length is 2 characters'); errorOccured |= true; } if (errorOccured) { return { valid: false, message: messages.join('<br/>'), message_en: messagesEN } } else { return true; } } }, notEmpty: { message: 'Please enter a last name', message_en: 'Please enter a last name' }, stringLength: { message: 'You have exceeded the maximum length of 40 characters for this field', message_en: 'You have exceeded the maximum length of 40 characters for this field', max: 40 }, } }, 'values[contactEmailFormDefinition_phone]': { trigger: 'blur', validators: { callback: { callback: function(value, validator, $field) { var messages = []; var messagesEN = []; var errorOccured = false; if ($field.attr('regexCheckDisabled') === 'true') { return true; } if (!value.trim().match(new RegExp('^[\\\\+]{0,1}[0-9\\\\(\\\\)\\- \\\\.]*$', ''))) { messages.push('please enter your phone number. (Numbers only, no spaces)'); messagesEN.push('please enter your phone number. (Numbers only, no spaces)'); errorOccured |= true; } if (errorOccured) { return { valid: false, message: messages.join('<br/>'), message_en: messagesEN } } else { return true; } } }, stringLength: { message: 'You have exceeded the maximum length of 20 characters for this field', message_en: 'You have exceeded the maximum length of 20 characters for this field', max: 20 }, callbackPhone: { alias: 'callback', message: 'Please enter a phone number', message_en: 'Please enter a phone number', callback: function (value, validator, $field) { if (value === '') { return true; } var prefixCountry = $field.siblings('.flag-container').children('.selected-flag').attr('title'); var isValidPrefix = prefixCountry !== undefined && prefixCountry !== 'Unknown'; if (!isValidPrefix) { return false; } var prefix = prefixCountry.split("+")[1]; var isMinimumLength = true; var minLength = ""; if (minLength !== null) { if (value.startsWith("+")) { if ((value.length - prefix.length - 1) < minLength) { isMinimumLength = false; } } else if (value.length < minLength) { isMinimumLength = false; } } return isMinimumLength; } }, } }, 'values[contactEmailFormDefinition_email]': { trigger: 'blur', validators: { regexp: { regexp: new RegExp('^(?=.{0,255}$)(?=.{0,64}@)(?:(?!^\\.)(?!.*\\.@)(?!.*\\.\\.)[a-zA-Z0-9!#.$%&\'*+\/=?^_‘{|}~-]+|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f]){1,62}\")@(?!-)(?!.*\\.-)(?!.*-\\.)(?:[a-zA-Z0-9-]{1,61}\\.){1,126}(?=[a-zA-Z0-9-]*[a-zA-Z][a-zA-Z0-9-]*$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?$', ''), message: 'Please enter your email address.', message_en: 'Please enter your email address.' }, notEmpty: { message: 'Please enter your email address.', message_en: 'Please enter your email address.' }, stringLength: { message: 'The number of characters for this field must be between 0 and 70', message_en: 'The number of characters for this field must be between 0 and 70', min: 0 , max: 70 }, } }, 'values[contactEmailFormDefinition_country]': { trigger: 'change', validators: { notEmpty: { message: 'Please enter your country\/region.', message_en: 'Please enter your country\/region.' } } }, 'values[contactEmailFormDefinition_swaClubMember]': { trigger: 'change', validators: { } }, 'values[contactEmailFormDefinition_scsMember]': { trigger: 'change', validators: { } }, 'values[contactEmailFormDefinition_scsMemberNumber]': { trigger: 'blur', validators: { notEmpty: { message: 'Please enter your SCS Membership number', message_en: 'Please enter your SCS Membership number' }, stringLength: { message: 'The number of characters for this field must be between 0 and 11', message_en: 'The number of characters for this field must be between 0 and 11', min: 0 , max: 11 }, } }, 'values[contactEmailFormDefinition_message]': { trigger: 'blur', validators: { notEmpty: { message: 'Please enter a message', message_en: 'Please enter a message' }, stringLength: { message: 'The number of characters for this field must be between 0 and 1000', message_en: 'The number of characters for this field must be between 0 and 1000', min: 0 , max: 1000 }, } }, 'values[contactEmailFormDefinition_contactOrderNo]': { trigger: 'blur', validators: { callback: { callback: function(value, validator, $field) { var messages = []; var messagesEN = []; var errorOccured = false; if ($field.attr('regexCheckDisabled') === 'true') { return true; } if (!value.trim().match(new RegExp('^([a-zA-Z0-9]{15})$|^$', ''))) { messages.push('Please enter a valid order number (15 digits)'); messagesEN.push('Please enter a valid order number (15 digits)'); errorOccured |= true; } if (errorOccured) { return { valid: false, message: messages.join('<br/>'), message_en: messagesEN } } else { return true; } } }, stringLength: { message: 'The number of characters for this field must be between 0 and 40', message_en: 'The number of characters for this field must be between 0 and 40', min: 0 , max: 40 }, } }, 'values[contactEmailFormDefinition_contactRepairNo]': { trigger: 'blur', validators: { stringLength: { message: 'The number of characters for this field must be between 0 and 40', message_en: 'The number of characters for this field must be between 0 and 40', min: 0 , max: 40 }, } }, 'values[contactEmailFormDefinition_contactTopic]': { trigger: 'change', validators: { notEmpty: { message: 'Please select your topic', message_en: 'Please select your topic' } } }, 'values[contactEmailFormDefinition_contactSubject]': { trigger: 'change', validators: { notEmpty: { message: 'Please select your subject', message_en: 'Please select your subject' } } }, 'values[contactEmailFormDefinition_contactSubjectTxt]': { trigger: 'blur', validators: { notEmpty: { message: 'Please enter your subject', message_en: 'Please enter your subject' }, stringLength: { message: 'The number of characters for this field must be between 0 and 40', message_en: 'The number of characters for this field must be between 0 and 40', min: 0 , max: 40 }, } } } } ) .on('success.field.fv', function() { /* note: we need to check if there is an error in the form, as the plugin does a validation on field level. Validating the whole form on blur of a field is no option, as the customer does not want to see error messages on all fields when entering one field. In case of an error on at least one field we disable the submit button manually */ var $form = $(this).closest('form'); if ($form.find('.form-group.has-error').length > 0) { var $button = $form.find('.js-button'); if (!$button.hasClass('disabled')) { $button.addClass('disabled'); } } }) .on('err.field.fv', function(e, data) { /* * On error field validation, enable submit button. * Source: https://old.formvalidation.io/examples/enabling-submit-button/ */ data.fv.disableSubmitButtons(false); $(data.element).attr('aria-invalid', 'true'); // Get error messages var messages = data.fv.getMessages(data.element); // ✅ Announce error to screen readers if ($(data.element).closest('.js-advent-calendar-container').length > 0 && messages.length > 0 && window.ACC && window.ACC.adventcalendar && typeof ACC.adventcalendar.adventcalendarUpdateErrorSpanAttributes === 'function') { const selectedField = data.element.attr('id'); ACC.adventcalendar.adventcalendarUpdateErrorSpanAttributes(selectedField, true); ACC.adventcalendar.announceToScreenReader('Error: ' + messages[0]); } if(data.element.closest('.form-combo-molecule').length){ /* Get the messages of field */ var messages = data.fv.getMessages(data.element); /* Get the error message content of the field */ var errorContent = data.element.closest('.form-combo-molecule').find('.errors'); /* Get the hidden error message of the field */ var errorField = errorContent.find('.swa-form-input__error-message[data-field="' + data.field + '"][style="display: none;"]'); /* Loop over the messages */ for (var i in messages) { if (errorField[1] == undefined) { var newErrorContainer = document.createElement("small"); $(newErrorContainer).attr("class", "swa-form-input__error-message swa-headline-sans--supertiny"); $(newErrorContainer).attr("data-field", data.field); $(newErrorContainer).attr("data-fv-validator", "callback"); $(newErrorContainer).attr("data-fv-for", $(data.element[0]).attr("name") ); $(newErrorContainer).attr("data-fv-result", "INVALID"); $(newErrorContainer).attr("data-tracked", "true"); $(newErrorContainer).html(messages[i]); if (errorContent.text().includes(messages[i])) { $(newErrorContainer).hide(); } errorContent.append(newErrorContainer); } } } }) .on('success.field.fv', function(e, data) { /* * On success field validation, enable submit button. * Source: https://old.formvalidation.io/examples/enabling-submit-button/ */ if ($(data.element).closest('.js-advent-calendar-container').length > 0 && window.ACC && window.ACC.adventcalendar && typeof ACC.adventcalendar.adventcalendarUpdateErrorSpanAttributes === 'function') { const selectedField = data.element.attr('id'); ACC.adventcalendar.adventcalendarUpdateErrorSpanAttributes(selectedField, false); } data.fv.disableSubmitButtons(false); // ✅ Remove aria-invalid on field $(data.element).attr('aria-invalid', 'false'); /* Remove the field messages */ $errorContent = data.element.closest('.form-combo-molecule').find('.errors'); $errorContent.find('.swa-form-input__error-message[data-field="' + data.field + '"]').remove(); $errorContent.find('.swa-form-input__error-message[data-fv-result="INVALID"]').removeAttr("style"); }) .on('success.form.fv', function() { var formId = 'contactEmail'; if (!formId || formId === 'cfRequest' || formId === 'cfResponse') { formId = 'contactEmailFormDefinition'; } ACC.tracking.pushFormSubmit(formId); }); var replaceDatePatternWithValue = function(mandatory, fieldConfigCode, fieldConfigPattern) { var date = fieldConfigPattern.toUpperCase(); var year = $("#" + fieldConfigCode + "_year").val(); var month = $("#" + fieldConfigCode + "_month").val(); var day = $("#" + fieldConfigCode + "_day").val(); date = date.replace(/[Y]+/, year); date = date.replace(/[M]+/, month); date = date.replace(/[D]+/, day); var hiddenDateField = $('.js-' + fieldConfigCode + '_hidden'); if (mandatory) { hiddenDateField.val(date); } else { hiddenDateField.val(date == "" ? "" : date); } }; var triggerFormValidation = function(fieldId, mandatory, fieldCode, dateFormat) { replaceDatePatternWithValue(mandatory, fieldCode, dateFormat); $('.js-fieldCode').formValidation('revalidateField', 'values[fieldCode_'+ fieldId + ']'); }; var removeDateMoleculeError = function(molecule) { if(molecule.hasClass('has-error')){ molecule.removeClass('has-error'); molecule.find('.help-block').find('span').remove(); } };
Phone

Phone

Estimated waiting time: 2- 5 minutes

Customer service Portugal

Opening hours: Mon - Fri: 09:00 - 17:00

Phone:

+351 800 918 668