Erhalten Sie die Nautilus-Muschel ab einem Einkauf von EUR 250Mehr entdecken
Erhalten Sie die Nautilus Shell, wenn Sie EUR 250 oder mehr ausgeben und mindestens ein Produkt aus der Decor- oder SCS-Auswahl in Ihrem Warenkorb enthalten ist.*
Wählen Sie bitte ein Thema aus, damit wir Ihnen besser helfen können
$(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: 'Bitte wählen Sie Ihr Thema\/Ihre Fragestellung aus',
message_en: 'Bitte wählen Sie Ihr Thema\/Ihre Fragestellung aus'
}
}
}
}
}
)
.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
Sujet
Sélectionnez l’un des sujets suivants
$(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: 'Bitte wählen Sie Ihr Thema\/Ihre Fragestellung aus',
message_en: 'Bitte wählen Sie Ihr Thema\/Ihre Fragestellung aus'
}
}
}
}
}
)
.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();
}
};
$(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: 'Bitte geben Sie einen Betreff an',
message_en: 'Bitte geben Sie einen Betreff an'
},
stringLength: {
message: 'In diesem Feld darf die Anzahl der Zeichen nur zwischen 0 und 40 liegen',
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":"Wussten Sie schon:","product-size":["Um Ihre perfekte Größe zu finden, nutzen Sie bitte unsere Größentabelle.","Weitere Informationen finden Sie in unseren <a href="/s-swarovski-ring-size/" target="_blank" rel="noopener noreferrer">Größentabelle</a>"],"product-availability":["Um die Produkt Verfügbarkeit in unseren Geschäften zu prüfen, gehen Sie wie folgt vor: <br/>1. Wählen Sie Ihr gewünschtes Produkt in unserem Onlineshop aus. <br/>2. Auf der Produktseite, neben „In den Warenkorb“, klicken Sie auf „Im Store finden“ und dann auf „Click & Collect: Verfügbarkeit prüfen“. <br/>3. Geben Sie Ihren aktuellen oder bevorzugten Standort ein und sehen Sie die verfügbaren Optionen.","Weitere Informationen finden Sie in unseren <a href="/s-faq-order/?accordionID=CC-Overview_AE-product_availibility" target="_blank" rel="noopener noreferrer">FAQ</a>"],"product-colors":["Bitte verwenden Sie den Farbfilter auf der Produktlisten-Seite oder prüfen Sie die Farbvariationen auf der Produktdetail-Seite, um die perfekte Übereinstimmung zu finden."],"promotion-info":["Swarovski führt das ganze Jahr über Verkaufsaktionen durch. Um auf dem neuesten Stand zu bleiben, empfehlen wir, sich für unseren Newsletter anzumelden."],"promotion-extension":["Unsere Aktionen haben immer festgelegte Gültigkeitszeiträume. Sobald das Enddatum erreicht ist, funktionieren die Rabattcodes nicht mehr oder der Standardpreis kehrt zurück. Bestellungen, die vor dem Start einer Aktion aufgegeben wurden, können nicht geändert werden, um von der neuen Aktion zu profitieren."],"promotion-quality":["Überprüfen Sie die Aktionsbedingungen, um sicherzustellen, dass Ihr Artikel teilnahmeberechtigt ist, und bestätigen Sie, dass Ihre Bestellung innerhalb des Aktionszeitraums aufgegeben wurde.","Weitere Informationen finden Sie in unseren <a href="/s-faq-order/?accordionID=CC-Overview_AE-purchase_qualify" target="_blank" rel="noopener noreferrer">FAQ</a>"],"order-resendOrderConfirmation":["Natürlich! Wenn Sie ein Update zu Ihrer Bestellung wünschen, besuchen Sie bitte <a href="/s-faq-orderstatus/Swarovski-Order-Status-FAQs/" target="_blank" rel="noopener noreferrer">Bestellstatus</a>. Wenn Sie Ihre Bestellnummer nicht kennen, geben Sie einfach Ihre E-Mail-Adresse an, und wir senden die Bestellbestätigung erneut zu."],"order-orderStatus":["Sie können den Status Ihrer Bestellung ganz einfach hier überprüfen: <a href="/s-faq-orderstatus/Swarovski-Order-Status-FAQs/" target="_blank" rel="noopener noreferrer">Bestellstatus</a>"],"order-cancelEntire":["Eine Stornierung Ihrer Bestellung ist innerhalb von etwa 15 Minuten nach Erhalt der Bestellbestätigung möglich.","Weitere Informationen finden Sie in unseren <a href="/s-faq-order/?accordionID=CC-Overview_AE-cancel_order_new" target="_blank" rel="noopener noreferrer">FAQ</a>"],"order-cancelPartially":["Teilweise Stornierungen sind nicht möglich. Es können nur vollständige Bestellungen innerhalb von ca.","15 Minuten nach Bestätigung storniert werden. Siehe <a href="/s-faq-order/?accordionID=CC-Overview_AE-cancel_order_new" target="_blank" rel="noopener noreferrer">FAQ</a> für Details."],"order-changeBillingAddress":["Wir können keine Rechnungsadresse ändern."],"order-return":["Dass Sie die in unseren <a href="/s-faq-return/?accordionID=CC-Overview_AE-how-do-I-return-my-item" target="_blank" rel="noopener noreferrer">FAQ</a> beschriebenen Schritte für eine detaillierte Anleitung befolgen können."],"order-returnPolicy":["Für weitere Informationen zu unserer Rückgaberichtlinien klicken Sie bitte hier <a href="/s-faq-return/?accordionID=CC-Overview_AE-can-I-do-a-return" target="_blank" rel="noopener noreferrer">FAQ</a>"],"order-onlineRefundStatus":["Rücksendungen dauern etwa 14 Werktage. Sie erhalten eine Bestätigungs-E-Mail, sobald wir Ihre Rücksendung erhalten haben, und die Rückerstattung kann bis zu 10 Werktage dauern, bis sie auf Ihrem Konto erscheint.","Weitere Informationen finden Sie in unseren <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":["Ein direkter Umtausch ist leider nicht möglich. Sie können jedoch ganz einfach unerwünschte Artikel gemäß unseren Rückgaberichtlinien zurücksenden und anschließend eine neue Bestellung für das gewünschte Produkt aufgeben.","Weitere Informationen finden Sie in unseren <a href="/s-faq-return/?accordionID=CC-Purchase-Returns_AE-exchange-purchase" target="_blank" rel="noopener noreferrer">FAQ</a>"],"exchange-exchangeInStore":["Sie können detaillierte Informationen in unseren <a href="/s-faq-return/?accordionID=CC-Purchase-Returns_AE-exchange-product" target="_blank" rel="noopener noreferrer">FAQ</a> finden."],"exchange-exchangeProductFromAnotherCountry":["Aus verschiedenen Gründen hat Swarovski keine globale Umtausch- oder Rückgabepolitik. Daher können wir Produkte, die in anderen Ländern gekauft wurden, nicht umtauschen, ersetzen oder erstatten."],"delivery-tracking":["Sie haben den Tracking-Link mit Ihrer Versandbestätigung erhalten. Alternativ können Sie den Fortschritt Ihrer Sendung hier überprüfen: <a href="/s-faq-orderstatus/Swarovski-Order-Status-FAQs/" target="_blank" rel="noopener noreferrer">order status</a>."],"delivery-damagedItem":["Wir entschuldigen uns für die Unannehmlichkeiten. Bitte wenden Sie sich an unseren Kundenservice und senden Sie Bilder der Versandverpackung und des beschädigten Produkts, damit wir eine Lösung für Sie finden können."],"delivery-missingItem":["Wir entschuldigen uns für die Unannehmlichkeiten. Wurde die Versandverpackung manipuliert? Bitte kontaktieren Sie unseren Kundenservice und senden Sie Fotos der Versandverpackung, wir werden dies untersuchen und eine Lösung für Sie finden."],"delivery-changeAddress":["Eine Änderung der Lieferadresse oder des Lieferdatums ist möglicherweise nicht mehr möglich, sobald ein Paket unterwegs ist. Sie können das Webportal unseres Lieferpartners nutzen, um die Lieferoptionen zu verwalten.","Weitere Informationen finden Sie in unseren <a href="/s-faq-shipping/Swarovski-Shipping-FAQs/?accordionID=CC-Overview_AE-delivery_address" target="_blank" rel="noopener noreferrer">FAQ</a>"],"delivery-changeCountry":["La livraison vers un autre pays ou une autre région n'est pas possible. Veuillez commander dans la boutique en ligne de la destination de livraison. Pour changer de pays/région et de langue, cliquez sur le nom du pays/de la région dans le menu de sélection."],"payment-electronicCard":["Les cartes-cadeaux électroniques sont saisies lors de l'étape de paiement au moment du règlement. Assurez-vous de saisir correctement le numéro de carte à 10 ou 16 chiffres. Vérifiez que vous ne saisissez pas un code de réduction ou de bon.","Pour plus d'informations, consultez ici <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":["Pour payer avec plusieurs cartes-cadeaux, veuillez suivre les étapes pour fusionner les cartes-cadeaux à l'étape de paiement."],"payment-payWith":["Pour échanger votre carte-cadeau, veuillez suivre les étapes décrites dans notre <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":["Veuillez vous assurer que vos informations de paiement et vos données personnelles sont cohérentes et exactes. Pour plus d'informations, veuillez consulter notre <a href="/s-faq-payment/Swarovski-Payment-FAQs/?accordionID=CC-Purchase-Payment_AE-methods" target="_blank" rel="noopener noreferrer">FAQ</a>."],"website-unableToCheckout":["Nous vous invitons à vérifier ici avant de nous contacter <a href="/s-faq-order/?accordionID=CC-Purchase-Order_AE-website-issue" target="_blank" rel="noopener noreferrer">Problème de site Web FAQ</a>."],"website-resetPassword":["Veuillez utiliser la fonction « mot de passe oublié ».","Pour plus d'informations, cliquez ici <a href="/s-faq-order/?accordionID=CC-Purchase-Order_AE-reset_pasword" target="_blank" rel="noopener noreferrer">FAQ</a>."],"website-unableToLogin":["Veuillez utiliser la fonction « mot de passe oublié ».","Pour plus d'informations, cliquez ici <a href="/s-faq-order/?accordionID=CC-Purchase-Order_AE-reset_pasword" target="_blank" rel="noopener noreferrer">FAQ</a>."],"swarovskiclub-unsubscribeNewsletter":["Nous envoyons deux types d'e-mails : des newsletters avec des promotions et collections, et des mises à jour de membre (récompenses, statut ou modifications du programme). Pour vous désabonner des newsletters, cliquez sur « désabonnement » en bas de l'e-mail ou mettez à jour vos paramètres dans « Mon compte » sur Swarovski.com. Pour arrêter toutes les communications, y compris les récompenses, contactez le Service client pour fermer votre compte."],"swarovskiclub-emailAfterUnsubscribe":["Si vous vous êtes désabonné de notre newsletter mais restez membre du Swarovski Club, vous continuerez à recevoir des e-mails concernant les récompenses, le statut de niveau ou les changements de programme. Pour arrêter cela, contactez le Service Client pour fermer votre compte. Vous pouvez également être abonné aux mises à jour de l'une de nos sous-marques."],"swarovskiclub-voucherNotWorking":["Pour plus de détails, veuillez consulter notre question fréquente pour savoir comment lier votre adhésion au club et utiliser votre bon de réduction <a href="/s-faq-club/?accordionID=CC-Membership-Swa-Club_AE-not-use-discount-voucher" target="_blank" rel="noopener noreferrer">FAQ</a>."],"swarovskiclub-extendedVoucher":["Les bons de réduction du Swarovski Club ne peuvent pas être prolongés. La période de validité est spécifiée dans les Conditions Générales incluses dans l'e-mail de récompense que vous avez reçu."],"swarovskiclub-saleItem":["Les bons de réduction du Swarovski Club ne peuvent pas être utilisés sur des articles en solde. Pour plus de détails, veuillez vous référer aux Conditions Générales dans l'e-mail de récompense que vous avez reçu."],"swarovskiclub-birthdayGiftVoucher":["Vous pouvez récupérer votre cadeau dans votre magasin préféré. Si vous n’en avez pas ou n’êtes pas sûr de celui à visiter, vous pouvez vous connecter à votre compte et sélectionner un magasin préféré. Vous pouvez également utiliser notre localisateur de boutiques pour trouver un magasin qui propose le Swarovski Club. Les clients dans certains pays peuvent ajouter leur cadeau lors de leur prochain achat en ligne."],"scsmembership-renewMembership":["Pour renouveler votre adhésion, veuillez suivre les étapes décrites dans notre <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":["Pour devenir un nouveau membre, veuillez suivre les étapes décrites dans notre <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":["Les packs d'adhésion sont généralement envoyés 4 à 6 semaines après l'inscription, les nouvelles adhésions ou les adhésions renouvelées sont expédiées le premier jour du mois suivant. Pour les adhésions de 3 ans (2e et 3e année), les packs sont envoyés au début de l'année, permettant aux membres de profiter du cadeau annuel et de découvrir des nouveautés."],"warranty-itemCoveredByWarrant":["Swarovski offre une garantie complète contre les défauts de fabrication et de matériaux sur les produits achetés dans des magasins officiels ou chez des revendeurs autorisés.","Pour plus de détails sur notre politique de garantie, consultez notre <a href="/s-faq-warranty/?accordionID=CC-Products-Warranty_AE-policy" target="_blank" rel="noopener noreferrer">FAQ</a>"],"warranty-warrantyPolicy":["Pour un aperçu complet de notre politique de garantie, veuillez consulter notre section dédiée <a href="/s-faq-warranty/?accordionID=CC-Products-Warranty_AE-policy" target="_blank" rel="noopener noreferrer">FAQ</a>."],"repair-repairableItem":["Pour le savoir, veuillez apporter votre produit et votre preuve d'achat au magasin Swarovski le plus proche pour évaluation.","Vous pouvez trouver le magasin le plus proche en utilisant notre <a href="/store-finder/?features=repairService" target="_blank" rel="noopener noreferrer">Storefinder</a>"],"repair-status":["Vous pouvez facilement vérifier l'état de votre réparation ici : <a href="/s-faq-repairs/Swarovski-Repair-Replacement-FAQs/?accordionID=CheckRepairStatusThemedAccordionEntryComponent" target="_blank" rel="noopener noreferrer">Voir l'état de la réparation</a>."],"repair-cost":["Veuillez apporter votre produit et votre preuve d'achat à votre magasin Swarovski le plus proche pour une évaluation.","Vous pouvez trouver votre magasin le plus proche en utilisant notre <a href="/store-finder/?features=repairService" target="_blank" rel="noopener noreferrer">Storefinder</a>"],"repair-visitStore":["Il est nécessaire de vous rendre dans un magasin car seuls les points de vente habilités disposent de l'équipement nécessaire pour évaluer et réparer correctement le produit."]}
3
Options de contact
Choisissez votre moyen de contact préféré
E-Mail
Voraussichtliche Wartezeit:
1– 3 Werktage
Pour toute question ou information, n’hésitez pas à nous contacter à l’aide du formulaire ci-dessous. Nous serons ravis de vous aider.
$(this).closest('#aa-contactEmailFormConfigWrapper').find('.js-aa-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('Nur Buchstaben eingeben (keine Satzzeichen)');
messagesEN.push('Nur Buchstaben eingeben (keine Satzzeichen)');
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('Mindestens 2 Zeichen');
messagesEN.push('Mindestens 2 Zeichen');
errorOccured |= true;
}
if (errorOccured) {
return {
valid: false,
message: messages.join('<br/>'),
message_en: messagesEN
}
} else {
return true;
}
}
},
notEmpty: {
message: 'Bitte geben Sie Ihren Vornamen ein.',
message_en: 'Bitte geben Sie Ihren Vornamen ein.'
},
stringLength: {
message: 'Sie haben mehr Zeichen eingegeben als die in diesem Feld erlaubte Anzahl von 40 Zeichen',
message_en: 'You have exceeded the maximum length of 40 characters for this field',
max: 40
},
}
},
'values[contactEmailFormDefinition_lastName]': {
trigger: 'blur',
validators: {
callback: {
callback: function(value, validator, $field) {
var messages = [];
var messagesEN = [];
var errorOccured = false;
if ($field.attr('regexCheckDisabled') === 'true') {
return true;
}
if (!value.trim().match(new RegExp('^[. \\u3000\'\\-a-zA-Z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02B8\\u0370-\\u03FF\\u1F00-\\u1FFF\\u0400-\\u052F\\u1C80-\\u1C8F\\u2DE0-\\u2DFF\\uA640-\\uA69F\\u4E00-\\u9FFF\\u3400-\\u4DBF\\u3040-\\u30FF\\uF900-\\uFAFF\\uFF66-\\uFF9F\\u1100-\\u11FF\\u3130-\\u318F\\uA960-\\uA97F\\uAC00-\\uD7FF\\u3005\\u3006\\u3024\\u3029\\u3031-\\u3035\\u0E00-\\u0E7F]*$', ''))) {
messages.push('Nur Buchstaben eingeben (keine Satzzeichen)');
messagesEN.push('Nur Buchstaben eingeben (keine Satzzeichen)');
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('Mindestens 2 Zeichen');
messagesEN.push('Mindestens 2 Zeichen');
errorOccured |= true;
}
if (errorOccured) {
return {
valid: false,
message: messages.join('<br/>'),
message_en: messagesEN
}
} else {
return true;
}
}
},
notEmpty: {
message: 'Bitte geben Sie Ihren Familiennamen ein.',
message_en: 'Bitte geben Sie Ihren Familiennamen ein.'
},
stringLength: {
message: 'Sie haben mehr Zeichen eingegeben als die in diesem Feld erlaubte Anzahl von 40 Zeichen',
message_en: 'You have exceeded the maximum length of 40 characters for this field',
max: 40
},
}
},
'values[contactEmailFormDefinition_phone]': {
trigger: 'blur',
validators: {
callback: {
callback: function(value, validator, $field) {
var messages = [];
var messagesEN = [];
var errorOccured = false;
if ($field.attr('regexCheckDisabled') === 'true') {
return true;
}
if (!value.trim().match(new RegExp('^[\\\\+]{0,1}[0-9\\\\(\\\\)\\- \\\\.]*$', ''))) {
messages.push('Bitte geben Sie Ihre Telefonnummer ein. (Nur Zahlen, keine Abstände)');
messagesEN.push('Bitte geben Sie Ihre Telefonnummer ein. (Nur Zahlen, keine Abstände)');
errorOccured |= true;
}
if (errorOccured) {
return {
valid: false,
message: messages.join('<br/>'),
message_en: messagesEN
}
} else {
return true;
}
}
},
stringLength: {
message: 'Sie haben mehr Zeichen eingegeben als die in diesem Feld erlaubte Anzahl von 20 Zeichen',
message_en: 'You have exceeded the maximum length of 20 characters for this field',
max: 20
},
callbackPhone: {
alias: 'callback',
message: 'Bitte befülle das Feld Telefon',
message_en: 'Bitte befülle das Feld Telefon',
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: 'Bitte gib eine E-Mail-Adresse ein.',
message_en: 'Bitte gib eine E-Mail-Adresse ein.'
},
notEmpty: {
message: 'Bitte gib eine E-Mail-Adresse ein.',
message_en: 'Bitte gib eine E-Mail-Adresse ein.'
},
stringLength: {
message: 'In diesem Feld darf die Anzahl der Zeichen nur zwischen 0 und 70 liegen',
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: 'Bitte gib ein Land\/Region ein.',
message_en: 'Bitte gib ein Land\/Region ein.'
}
}
},
'values[contactEmailFormDefinition_swaClubMember]': {
trigger: 'change',
validators: {
}
},
'values[contactEmailFormDefinition_scsMember]': {
trigger: 'change',
validators: {
}
},
'values[contactEmailFormDefinition_scsMemberNumber]': {
trigger: 'blur',
validators: {
notEmpty: {
message: 'Bitte geben Sie Ihre SCS Mitgliedsnummer an',
message_en: 'Bitte geben Sie Ihre SCS Mitgliedsnummer an'
},
stringLength: {
message: 'In diesem Feld darf die Anzahl der Zeichen nur zwischen 0 und 11 liegen',
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: 'Bitte gib eine Mitteilung ein',
message_en: 'Bitte gib eine Mitteilung ein'
},
stringLength: {
message: 'In diesem Feld darf die Anzahl der Zeichen nur zwischen 0 und 1000 liegen',
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: 'In diesem Feld darf die Anzahl der Zeichen nur zwischen 0 und 40 liegen',
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: 'In diesem Feld darf die Anzahl der Zeichen nur zwischen 0 und 40 liegen',
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: 'Bitte wählen Sie Ihr Thema\/Ihre Fragestellung aus',
message_en: 'Bitte wählen Sie Ihr Thema\/Ihre Fragestellung aus'
}
}
},
'values[contactEmailFormDefinition_contactSubject]': {
trigger: 'change',
validators: {
notEmpty: {
message: 'Bitte wählen Sie Ihr Thema\/Ihre Fragestellung aus',
message_en: 'Bitte wählen Sie Ihr Thema\/Ihre Fragestellung aus'
}
}
},
'values[contactEmailFormDefinition_contactSubjectTxt]': {
trigger: 'blur',
validators: {
notEmpty: {
message: 'Bitte geben Sie einen Betreff an',
message_en: 'Bitte geben Sie einen Betreff an'
},
stringLength: {
message: 'In diesem Feld darf die Anzahl der Zeichen nur zwischen 0 und 40 liegen',
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();
}
};