Free standard shipping over 900 $
Deliver everywhere including hotels
Easy returns
APPLE PAY & GOOGLE PAY ARE NOW AVAILABLE ON SWAROVSKI.COM.
Search

Contact us

1

Thema

Selecteer een ontwerp zodat we u beter van dienst kunnen zijn

Please select your topic *
Online bestellingen
Swarovski Club
Levering
Ruilen
Garantie
Reparatie
Productinformatie
Acties
Betaling
SCS-lidmaatschap
Probleem met de website
Gegevensbescherming
Anders
$(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

Onderwerp

Selecteer een van de volgende onderwerpen

Please select your subject *
Wat is de tracking-link van mijn bestelling?
Een product van mijn bestelling is beschadigd aangekomen
Er ontbreekt een artikel van mijn bestelling
Kunt u mijn leveradres veranderen?
Hoe kan ik mijn bestelling naar een ander land versturen?
Anders
Kan mijn artikel worden gerepareerd?
Wat is de status van mijn reparatie?
Wat kost een reparatie?
Waarom moet ik naar een winkel om een artikel te laten repareren?
Anders
Kunt u mij laten weten wat de afmetingen van het product zijn?
Waar is dit product verkrijgbaar?
Welke kleuren zijn er verkrijgbaar?
Hoe kan ik een op bestelling gemaakt Swarovski Created Diamonds-product bestellen?
anders
Mijn postadres wordt niet herkend als geldig adres
Ik kan het betalingsproces niet afronden
Kunt u het wachtwoord voor mijn account herstellen?
Ik kan niet inloggen op mijn account
Anders
Anders
Verzoek tot inzage door betrokkene
Recht op gegevenswissing (‘recht om vergeten te worden’)
Klachten
Hoe verleng ik mijn lidmaatschap?
Hoe word ik lid van de SCS?
Wanneer ontvang ik mijn lidmaatschapspakket?
Anders
Hoe schrijf ik mij uit voor de Swarovski Club nieuwsbrief?
Waarom krijg ik nog steeds e-mail van Swarovski nadat ik mij heb uitgeschreven voor de nieuwsbrief?
Mijn Swarovski Club Voucher werkt niet
Kan mijn Swarovski Club kortingsvoucher worden verlengd?
Kan mijn Swarovski Club kortingsvoucher worden gebruikt voor afgeprijsde artikelen?
Hoe wissel ik de cadeauvoucher voor mijn verjaardag in?
Anders
Valt mijn product onder de garantievoorwaarden?
Wat is uw garantiebeleid?
Anders
Kan ik een product uit mijn online bestelling ruilen?
Kan ik een product dat ik in een winkel heb gekocht, ruilen in een ander land?
Kan ik mijn online bestelling ruilen in een winkel?
Anders
Waarom wordt mijn digitale cadeaukaart online niet geaccepteerd?
Kan ik betalen met meer dan 1 digitale cadeaukaart?
Hoe betaal ik een online aankoop met een digitale cadeaukaart
Waarom is mijn betaling geweigerd?
Waarom is mijn betaling teruggestort?
Anders
Kunt u informatie over de huidige actie geven?
Kunt u de actie verlengen?
Waarom kwam mijn aankoop niet in aanmerking voor de actie?
Anders
Kunt u mijn bestelbevestiging nog eens sturen?
Wat is de status van mijn online bestelling?
Kan ik mijn hele online bestelling annuleren?
Kan ik een deel van mijn online bestelling annuleren?
Kunt u mijn factuuradres veranderen?
Hoe stuur ik mijn online bestelling terug?
Wat is het retourbeleid voor online bestellingen?
Wat is de status van mijn online terugbetaling?
Anders
$(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":["Om je perfecte maat te weten, kun je onze maatgids gebruiken.","Voor meer informatie, zie de <a href="/s-swarovski-ring-size/" target="_blank" rel="noopener noreferrer">Maatgids</a>"],"product-availability":["Om de beschikbaarheid in de winkel te controleren, volg je deze stappen: <br/>1. Kies je product uit onze online shop. <br/>2. Op de productdetailpagina, naast "Toevoegen aan winkelwagentje", selecteer je "Zoeken in de store" en klik je op "Click & Collect: Voorraad bekijken." <br/>3. Voer je huidige of gewenste locatie in en bekijk de beschikbare opties.","Voor meer informatie, zie onze <a href="/s-faq-order/?accordionID=CC-Overview_AE-product_availibility" target="_blank" rel="noopener noreferrer">FAQ</a>"],"product-colors":["Gebruik de kleurfilter op de productlijstpagina of bekijk de kleurvariaties op de productdetailpagina om de perfecte match te vinden."],"promotion-info":["Swarovski organiseert het hele jaar door verkoopacties; om op de hoogte te blijven, raden we aan om je aan te melden voor onze nieuwsbrief."],"promotion-extension":["Onze promoties hebben altijd vaste geldigheidsperiodes. Zodra de einddatum is verstreken, stoppen de kortingscodes automatisch met werken of keert de standaardprijs terug. Bestellingen die vóór de lancering van een promotie zijn geplaatst, kunnen niet worden aangepast om te profiteren van de nieuwste promotie."],"promotion-quality":["Controleer de voorwaarden van de promotie om ervoor te zorgen dat je artikel in aanmerking komt en bevestig dat je bestelling binnen de promotieperiode is geplaatst.","Voor meer details, zie onze <a href="/s-faq-order/?accordionID=CC-Overview_AE-purchase_qualify" target="_blank" rel="noopener noreferrer">FAQ</a>"],"order-resendOrderConfirmation":["Zeker! Als je een update over jouw bestelling wilt, bezoek dan <a href="/s-faq-orderstatus/Swarovski-Order-Status-FAQs/" target="_blank" rel="noopener noreferrer">bestelstatus</a>. Als je jouw bestelnummer niet weet, geef je gewoon jouw e-mailadres op en wij sturen de bestelbevestiging opnieuw."],"order-orderStatus":["Je hier gemakkelijk de status van je bestelling kunt controleren <a href="/s-faq-orderstatus/Swarovski-Order-Status-FAQs/" target="_blank" rel="noopener noreferrer">Bestelstatus</a>"],"order-cancelEntire":["Een annulering van een bestelling mogelijk is binnen ongeveer 15 minuten na ontvangst van je orderbevestiging?","Voor meer informatie, zie <a href="/s-faq-order/?accordionID=CC-Overview_AE-cancel_order_new" target="_blank" rel="noopener noreferrer">FAQ</a>"],"order-cancelPartially":["Gedeeltelijke annuleringen zijn niet mogelijk, alleen volledige annuleringen binnen ongeveer 15 minuten na bevestiging.","Zie <a href="/s-faq-order/?accordionID=CC-Overview_AE-cancel_order_new" target="_blank" rel="noopener noreferrer">FAQ</a> voor details."],"order-changeBillingAddress":["Wij kunnen een factuuradres niet wijzigen."],"order-return":["Je de stappen in onze <a href="/s-faq-return/?accordionID=CC-Overview_AE-how-do-I-return-my-item" target="_blank" rel="noopener noreferrer">FAQ</a> kunt volgen voor gedetailleerde begeleiding."],"order-returnPolicy":["Voor meer informatie over ons retourbeleid, klik hier <a href="/s-faq-return/?accordionID=CC-Overview_AE-can-I-do-a-return" target="_blank" rel="noopener noreferrer">FAQ</a>"],"order-onlineRefundStatus":["Retourzendingen ongeveer 14 werkdagen duren? Je ontvangt een bevestigingsmail zodra we je retour hebben ontvangen, en het kan tot 10 werkdagen duren voordat de terugbetaling op je rekening verschijnt.","Voor meer details, zie onze <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":["Ruilen niet mogelijk is? Gelieve ongewenste artikelen volgens ons retourbeleid terug te sturen en een nieuwe bestelling te plaatsen voor het juiste product.","Voor meer details, zie onze <a href="/s-faq-return/?accordionID=CC-Purchase-Returns_AE-exchange-purchase" target="_blank" rel="noopener noreferrer">FAQ</a>"],"exchange-exchangeInStore":["Je kunt gedetailleerde informatie vinden in onze <a href="/s-faq-return/?accordionID=CC-Purchase-Returns_AE-exchange-product" target="_blank" rel="noopener noreferrer">FAQ</a>."],"exchange-exchangeProductFromAnotherCountry":["Om verschillende redenen heeft Swarovski geen wereldwijde omruil- of restitutiebeleid. Daarom kunnen wij producten die in andere landen zijn gekocht niet ruilen, vervangen of terugbetalen."],"delivery-tracking":["Je hebt de trackinglink ontvangen bij jouw verzendbevestiging. Je kunt ook de voortgang van jouw zending hier controleren: <a href="/s-faq-orderstatus/Swarovski-Order-Status-FAQs/" target="_blank" rel="noopener noreferrer">order status</a>."],"delivery-damagedItem":["Onze excuses voor het ongemak. Neem contact op met onze klantenservice en stuur foto's van de verzenddoos en het beschadigde product. Wij zoeken een oplossing voor je."],"delivery-missingItem":["Onze excuses voor het ongemak. Is de verzenddoos gemanipuleerd? Neem contact op met onze klantenservice en stuur foto's van de verzenddoos, wij zullen dit onderzoeken en een oplossing voor jou vinden."],"delivery-changeAddress":["Het wijzigen van het afleveradres of de datum mogelijk niet meer mogelijk is zodra een pakket in transit is? Je kunt het webportaal van onze bezorgpartner gebruiken om de bezorgopties te beheren.","Voor meer details, zie onze <a href="/s-faq-shipping/Swarovski-Shipping-FAQs/?accordionID=CC-Overview_AE-delivery_address" target="_blank" rel="noopener noreferrer">FAQ</a>"],"delivery-changeCountry":["Levering naar een ander land/regio is niet mogelijk. Plaats jouw bestelling bij de online winkel van de bezorgbestemming. Om land/regio en taal te wijzigen, klik je op de naam van het land/de regio in het keuzemenu."],"payment-electronicCard":["Elektronische cadeaubonnen worden ingevoerd tijdens de betalingsfase in de kassa. Controleer of je het 10- of 16-cijferige kaartnummer correct invoert. Zorg ervoor dat je geen kortingscode of bon invoert.","Voor meer informatie, klik hier <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":["Om met meerdere cadeaubonnen te betalen, volg je de stappen om cadeaubonnen samen te voegen bij de betalingsfase."],"payment-payWith":["Om jouw cadeaubon in te wisselen, volg je deze eenvoudige stappen die worden beschreven in onze <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":["Zorg ervoor dat jouw betaling en persoonlijke gegevens consistent zijn. Voor meer informatie raadpleeg onze <a href="/s-faq-payment/Swarovski-Payment-FAQs/?accordionID=CC-Purchase-Payment_AE-methods" target="_blank" rel="noopener noreferrer">FAQ</a>."],"website-unableToCheckout":["Controleer hier voordat je contact met ons opneemt <a href="/s-faq-order/?accordionID=CC-Purchase-Order_AE-website-issue" target="_blank" rel="noopener noreferrer">FAQ websiteprobleem</a>."],"website-resetPassword":["Gebruik de functie 'wachtwoord vergeten'.","Voor meer informatie klik hier <a href="/s-faq-order/?accordionID=CC-Purchase-Order_AE-reset_pasword" target="_blank" rel="noopener noreferrer">FAQ</a>."],"website-unableToLogin":["Gebruik de functie 'wachtwoord vergeten'.","Voor meer informatie klik hier <a href="/s-faq-order/?accordionID=CC-Purchase-Order_AE-reset_pasword" target="_blank" rel="noopener noreferrer">FAQ</a>."],"swarovskiclub-unsubscribeNewsletter":["Wij sturen twee soorten e-mails: nieuwsbrieven met promoties en collecties, en lidmaatschapsupdates (beloningen, status of programmaswijzigingen). Om je af te melden voor nieuwsbrieven, klik op 'afmelden' onderaan de e-mail of werk je instellingen bij in 'Mijn account' op Swarovski.com. Om alle communicatie, inclusief beloningen, te stoppen, neem contact op met de Klantenservice om je account te sluiten."],"swarovskiclub-emailAfterUnsubscribe":["Als je je hebt uitgeschreven voor onze nieuwsbrief maar lid blijft van de Swarovski Club, ontvang je nog steeds e-mails over beloningen, niveau-status of programmaconnecties. Om dit te stoppen, neem contact op met de Klantenservice om je account te sluiten. Mogelijk ontvang je ook updates van een van onze submerken."],"swarovskiclub-voucherNotWorking":["Voor meer informatie, bezoek onze FAQ inzake hoe je je club lidmaatschap koppelt en je kortingsvoucher gebruikt <a href="/s-faq-club/?accordionID=CC-Membership-Swa-Club_AE-not-use-discount-voucher" target="_blank" rel="noopener noreferrer">FAQ</a>."],"swarovskiclub-extendedVoucher":["Swarovski Club kortingsvouchers kunnen niet worden verlengd. De geldigheidsperiode is gespecificeerd in de Algemene Voorwaarden in de belonings-e-mail die je hebt ontvangen."],"swarovskiclub-saleItem":["Swarovski Club kortingsvouchers kunnen niet worden gebruikt op afgeprijsde artikelen. Voor meer details, raadpleeg de Algemene Voorwaarden in de belonings-e-mail die je hebt ontvangen."],"swarovskiclub-birthdayGiftVoucher":["Je kunt je cadeau ophalen bij je favoriete winkel. Als je er geen hebt of niet zeker weet welke je moet bezoeken, kun je inloggen op jouw account en een favoriete winkel selecteren. Je kunt ook onze Winkelzoeker gebruiken om een winkel te vinden die de Swarovski Club aanbiedt. Klanten in sommige markten kunnen hun cadeau online inwisselen bij hun volgende online aankoop."],"scsmembership-renewMembership":["Om je lidmaatschap te verlengen, volg de eenvoudige stappen beschreven in onze <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":["Om een nieuw lid te worden, volg de eenvoudige stappen beschreven in onze <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":["Lidmaatschapspakketten worden meestal 4-6 weken na aanmelding verzonden, waarbij nieuwe of verlengde lidmaatschappen op de eerste dag van de volgende maand worden verzonden. Voor lidmaatschappen van 3 jaar (2e en 3e jaar) worden pakketten vroeg in het jaar verzonden, zodat leden kunnen genieten van het jaarlijkse geschenk en nieuwigheden kunnen ontdekken."],"warranty-itemCoveredByWarrant":["Swarovski een volledige garantie biedt voor fabricage- en materiaalfouten op producten die zijn gekocht bij officiële winkels of geautoriseerde verkopers?","Voor details over ons garantiebeleid, zie onze <a href="/s-faq-warranty/?accordionID=CC-Products-Warranty_AE-policy" target="_blank" rel="noopener noreferrer">FAQ</a>"],"warranty-warrantyPolicy":["Voor een volledig overzicht van ons garantiebeleid, bezoek alstublieft onze speciale <a href="/s-faq-warranty/?accordionID=CC-Products-Warranty_AE-policy" target="_blank" rel="noopener noreferrer">FAQ</a>-sectie."],"repair-repairableItem":["Om het te achterhalen, breng je je product en bewijs van aankoop naar de dichtstbijzijnde Swarovski-winkel voor een beoordeling.","Je kunt je dichtstbijzijnde winkel vinden met onze online <a href="/store-finder/?features=repairService" target="_blank" rel="noopener noreferrer">Winkelzoeker</a>"],"repair-status":["Je hier gemakkelijk de status van je reparatie kunt controleren <a href="/s-faq-repairs/Swarovski-Repair-Replacement-FAQs/?accordionID=CheckRepairStatusThemedAccordionEntryComponent" target="_blank" rel="noopener noreferrer">Bekijk reparatiestatus</a>"],"repair-cost":["Breng je product en bewijs van aankoop naar de dichtstbijzijnde Swarovski-winkel voor een beoordeling.","Je kunt je dichtstbijzijnde winkel vinden met onze online <a href="/store-finder/?features=repairService" target="_blank" rel="noopener noreferrer">Winkelzoeker</a>"],"repair-visitStore":["Je moet een winkel bezoeken, omdat alleen geautoriseerde winkels uitgerust zijn om het product goed te beoordelen en te repareren."]}
3

Contactopties

Kies uw gewenste contactoptie

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 *
不丹
中國大陸
中非共和國
丹麥
亞塞拜然
亞美尼亞
以色列
伊拉克
伊朗
保加利亞
克羅埃西亞
冰島
列支敦斯登
利比亞阿拉伯群眾國
剛果
剛果民主共和國
加彭
加拿大
匈牙利
北馬利安納群島
千里達及托巴哥
南喬治亞及南三明治群島
南極洲
南非
卡達
印尼
印度
厄利垂亞
厄瓜多
古巴
古拉索
可可斯(基林)群島
台灣地區
史瓦濟蘭
吉布地
吉爾吉斯
吉里巴斯
吐瓦魯
哈薩克
哥倫比亞
哥斯大黎加
喀麥隆
喬治亞
土克凱可群島
土庫曼
土耳其
坦尚尼亞
埃及
塔吉克
塞內加爾
塞席爾
塞爾維亞
墨西哥
多哥
多明尼加共和國
多米尼克
大韓民國
奈及利亞
奧地利
奧蘭群島
委內瑞拉
孟加拉
安吉拉
安哥拉
安地卡及巴布達
安道爾
密克羅尼西亞聯邦
寮人民民主共和國
尚比亞
尼加拉瓜
尼日
尼泊爾
巴勒斯坦地區
巴哈馬
巴基斯坦
巴布亞紐幾內亞
巴拉圭
巴拿馬
巴林
巴西
巴貝多
布吉納法索
希臘
帛琉
幾內亞
幾內亞比索
庫克群島
德國
愛沙尼亞
愛爾蘭
所羅門群島
托克勞
拉脫維亞
挪威
捷克共和國
摩洛哥
摩爾多瓦
摩納哥
教廷(梵蒂岡城國)
斐濟
斯洛伐克
斯洛維尼亞
斯瓦巴及尖棉
斯里蘭卡
新加坡
新喀里多尼亞
日本
智利
曼島
朝鮮民主主義人民共和國
東加
東帝汶
查德
柬埔寨
格瑞那達
格陵蘭
模里西斯
比利時
汶萊和平之國
沙烏地阿拉伯
法國
法屬南部屬地
法屬圭亞那
法屬波里尼西亞
法屬聖馬丁
法羅群島
波士尼亞與赫塞哥維納
波多黎各
波奈、聖佑達修斯及荷屬沙巴
波札那
波維特島
波蘭
泰國
洪都拉斯
海地
澤西島
澳洲
澳門特別行政區
烏克蘭
烏干達
烏拉圭
烏茲別克
牙買加
獅子山
玻利維亞
瑞典
瑞士
瓜地洛普
瓜地馬拉
瓦利斯群島和富圖那群島
甘比亞
留尼旺
白俄羅斯
百慕達
皮特凱恩
盧安達
盧森堡
直布羅陀
福克蘭群島
科威特
秘魯
突尼西亞
立陶宛
約旦
納米比亞
紐埃
紐西蘭
索馬利亞
維德角島
緬甸
羅馬尼亞
美國
美國邊疆群島
美屬維京群島
美屬薩摩亞
義大利
耿西島
聖克里斯多福及尼維斯
聖多美普林西比
聖巴瑟米
聖文森及格瑞那丁
聖皮埃與密克隆群島
聖誕島
聖赫勒拿、亞森欣、特里斯坦達庫尼亞群島
聖露西亞
聖馬利諾
肯亞
芬蘭
英國
英屬印度洋領地
英屬維京群島
茅利塔尼亞
荷屬聖馬丁
荷蘭
莫三比克
菲律賓
萬那杜
葉門
葛摩
葡萄牙
蒙古
蒙哲臘
蒲隆地
蓋亞那
薩摩亞
薩爾瓦多共和國
蘇丹
蘇利南
衣索比亞
西撒哈拉
西班牙
諾福客島
諾魯
象牙海岸
貝南
貝里斯
賴比瑞亞
賴索托
賽普勒斯
赤道幾內亞
赫德島與麥當勞群島
越南
辛巴威
迦納
開曼群島
關島
阿富汗
阿拉伯敘利亞共和國
阿拉伯聯合大公國
阿曼
阿根廷
阿爾及利亞
阿爾巴尼亞
阿魯巴
香港特別行政區
馬丁尼克
馬來西亞
馬其頓
馬利
馬拉威
馬爾他
馬爾地夫
馬約特島
馬紹爾群島
馬達加斯加
黎巴嫩
黑山
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('#hk-contactEmailFormConfigWrapper').find('.js-hk-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 35 characters for this field', message_en: 'You have exceeded the maximum length of 35 characters for this field', max: 35 }, } }, '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 35 characters for this field', message_en: 'You have exceeded the maximum length of 35 characters for this field', max: 35 }, } }, '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

Klantenservice Nederland

Openingstijden: Ma - Vr: 10:00 - 18:00

Telefoon:
+31 20 26 26 410