Enable Accessibility
Free standard shipping over EUR 99
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

如果您有任何問題,或需要進一步的資訊,請使用下方表格聯絡我們。我們很樂意幫忙。

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 *
線上訂單
Swarovski Club
送貨
換貨
保固
保養
產品資訊
促銷
付款
SCS 會費
網站問題
資料隱私
其他
Please select your subject *
我訂單的追蹤連結是什麼?
我訂單中的某件商品到達時已損壞
我訂單中的某件商品丟失
能否更改我的送貨地址?
我如何才能把訂購產品發往另一個國家?
其他
我的貨品能否進行維修?
我的維修狀況如何?
維修費用是多少?
為什麼我必須到門店去維修產品?
其他
能否告知產品尺寸?
這款產品哪裡有售?
有哪些顏色可供選擇?
如何選購 Swarovski Created Diamonds 客製化產品?
其他
我的郵政位址不被認可為有效位址
我無法完成結帳流程
能否重設我的帳戶密碼?
無法登入我的帳戶
其他
其他
資料當事人查閱請求
刪除權(「被遺忘權」)
投訴
我如何更新會員資格?
我如何才能成為SCS會員?
我的會員禮包何時能到?
其他
我如何取消訂閱Swarovski Club的通訊?
為何我取消訂閱通訊後,仍然收到Swarovski的電子郵件?
我的Swarovski Club優惠券無法使用
我的Swarovski Club折扣券可否延期?
我的Swarovski Club折扣券可否用於購買特價產品?
我如何用生日禮券兌換產品?
其他
我的產品是否在保固範圍內?
你們的保固政策是什麼?
其他
我可否在網上訂單中更換產品?
我可否在門店更換網上購買的產品?
我可否更換在其他國家門店購買的產品?
其他
我的電子禮品卡為何在網上不被接受?
我能否使用1張以上的電子禮品卡付款?
我如何用電子禮品卡為網上購買付款?
我的付款為何被拒?
我的付款為何被退回?
其他
能否提供當前促銷活動的資訊?
您可否延長促銷期?
為什麼我購買的產品不適用於促銷活動?
其他
能否重新發送我的訂單確認資訊?
我的線上訂購狀態?
我能否取消整份線上訂單?
我能否取消部分線上訂單?
能否更改我的帳單地址?
我如何退還線上訂購的貨品?
你們的網上退貨政策是什麼?
我的網上退款狀態如何?
其他

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('#tw-contactEmailFormConfigWrapper').find('.js-tw-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

台灣客服

營業時間:週一至週五 10:00 - 19:00 (法定節假日休息)

電話:

+886 2 7738 1359