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);
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/
*/
data.fv.disableSubmitButtons(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
Thema
Wählen Sie eines der folgenden Themen aus
$(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);
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/
*/
data.fv.disableSubmitButtons(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);
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/
*/
data.fv.disableSubmitButtons(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":["Die Lieferung in ein anderes Land/eine andere Region ist nicht möglich. Bitte bestellen Sie im Online-Shop des Lieferziels. Um Land/Region und Sprache zu ändern, klicken Sie auf den Namen des Landes/der Region im Auswahlmenü."],"payment-electronicCard":["Elektronische Geschenkkarten werden an der Zahlungsstelle im Checkout eingegeben. Stellen Sie sicher, dass Sie die 10- oder 16-stellige Kartennummer korrekt eingeben. Achten Sie darauf, keinen Rabatt- oder Gutscheincode einzugeben.","Weitere Informationen finden Sie 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":["Um mit mehreren Geschenkkarten bezahlen zu können, folgen Sie bitte den Schritten zum Zusammenführen von Geschenkkarten in der Zahlungsphase."],"payment-payWith":["Um Ihre Geschenkkarte einzulösen, folgen Sie bitte den einfachen Schritten, die in unseren <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> erklärt werden."],"payment-rejection":["Bitte stellen Sie sicher, dass Ihre Zahlungs- und persönlichen Daten übereinstimmen.","Weitere Informationen finden Sie in unseren <a href="/s-faq-payment/Swarovski-Payment-FAQs/?accordionID=CC-Purchase-Payment_AE-methods" target="_blank" rel="noopener noreferrer">FAQ</a>."],"website-unableToCheckout":["Bitte prüfen Sie hier, bevor Sie uns kontaktieren <a href="/s-faq-order/?accordionID=CC-Purchase-Order_AE-website-issue" target="_blank" rel="noopener noreferrer">FAQ Website-Problem</a>.","Weitere Informationen finden Sie in unseren <a href="/s-faq-payment/Swarovski-Payment-FAQs/?accordionID=CC-Purchase-Payment_AE-methods" target="_blank" rel="noopener noreferrer">FAQ</a>."],"website-resetPassword":["Bitte verwenden Sie die Funktion „Passwort vergessen“."],"website-unableToLogin":["Bitte verwenden Sie die Funktion „Passwort vergessen“. Weitere Informationen finden Sie hier <a href="/s-faq-order/?accordionID=CC-Purchase-Order_AE-reset_pasword" target="_blank" rel="noopener noreferrer">FAQ</a>."],"swarovskiclub-unsubscribeNewsletter":["Wir senden zwei Arten von E-Mails: Newsletter mit Aktionen und Kollektionen sowie Mitgliedschafts-Updates (Belohnungen, Status oder Programmänderungen). Um sich von Newslettern abzumelden, klicken Sie auf „Abmelden“ am Ende der E-Mail oder aktualisieren Sie Ihre Einstellungen in „Mein Konto“ auf Swarovski.com. Um alle Kommunikationen, einschließlich Belohnungen, zu beenden, kontaktieren Sie bitte den Kundenservice, um Ihr Konto zu schließen."],"swarovskiclub-emailAfterUnsubscribe":["Wenn Sie unseren Newsletter abbestellt haben, aber weiterhin Swarovski Club-Mitglied sind, erhalten Sie weiterhin E-Mails zu Belohnungen, Statusstufen oder Programmänderungen. Um diese zu stoppen, kontaktieren Sie bitte den Kundenservice, um Ihr Konto zu schließen. Möglicherweise sind Sie auch für Updates einer unserer Sub-Marken registriert."],"swarovskiclub-voucherNotWorking":["Für weitere Details besuchen Sie bitte unseren FAQ-Eintrag darüber, wie Sie Ihre Clubmitgliedschaft verknüpfen und Ihren Rabattgutschein einlösen können <a href="/s-faq-club/?accordionID=CC-Membership-Swa-Club_AE-not-use-discount-voucher" target="_blank" rel="noopener noreferrer">FAQ</a>."],"swarovskiclub-extendedVoucher":["Die Rabattgutscheine des Swarovski Clubs können nicht verlängert werden. Die Gültigkeitsdauer ist in den Allgemeinen Geschäftsbedingungen angegeben, die in der Belohnungs-E-Mail enthalten sind, die Sie erhalten haben."],"swarovskiclub-saleItem":["Die Rabattgutscheine des Swarovski Clubs können nicht für reduzierte Artikel verwendet werden. Weitere Einzelheiten finden Sie in den Allgemeinen Geschäftsbedingungen, die in der Belohnungs-E-Mail angegeben sind, die Sie erhalten haben."],"swarovskiclub-birthdayGiftVoucher":["Sie können Ihr Geschenk in Ihrem bevorzugten Geschäft abholen. Wenn Sie keines haben oder nicht sicher sind, welches Sie besuchen sollen, können Sie sich in Ihr Konto einloggen und ein bevorzugtes Geschäft auswählen. Alternativ können Sie auch unseren Filialfinder nutzen, um ein Geschäft zu finden, das den Swarovski Club anbietet. Kunden in einigen Märkten können ihr Geschenk online mit ihrem nächsten Online-Einkauf einlösen."],"scsmembership-renewMembership":["Um Ihre Mitgliedschaft zu verlängern, folgen Sie bitte den einfachen Schritten, die in unseren <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> beschrieben sind."],"scsmembership-becomeMember":["Um ein neues Mitglied zu werden, folgen Sie bitte den einfachen Schritten, die in unseren <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> beschrieben sind."],"scsmembership-membershipArrival":["Mitgliedschaftspakete werden in der Regel 4-6 Wochen nach der Anmeldung versandt, wobei neue oder erneuerte Mitgliedschaften am ersten Tag des Folgemonats verschickt werden. Für 3-Jahres-Mitgliedschaften (2. und 3. Jahr) werden Pakete früh im Jahr verschickt, damit Mitglieder das Jahresgeschenk genießen und neue Neuheiten entdecken können."],"warranty-itemCoveredByWarrant":["Swarovski bietet eine umfassende Garantie auf Herstellungs- und Materialfehler für Produkte, die in offiziellen Geschäften oder bei autorisierten Händlern gekauft wurden.","Für weitere Informationen zu unserer Garantiepolitik schauen Sie in unsere <a href="/s-faq-warranty/?accordionID=CC-Products-Warranty_AE-policy" target="_blank" rel="noopener noreferrer">FAQ</a>"],"warranty-warrantyPolicy":["Für einen vollständigen Überblick über unsere Garantiebedingungen besuchen Sie bitte unseren speziellen <a href="/s-faq-warranty/?accordionID=CC-Products-Warranty_AE-policy" target="_blank" rel="noopener noreferrer">FAQ</a>-Bereich."],"repair-repairableItem":["Um mehr herauszufinden, bringen Sie bitte Ihr Produkt und den Kaufnachweis in einen Swarovski Store in Ihrer Nähe zur Begutachtung.","Ihren nächstgelegenen Store finden Sie mit unserem Online-<a href="/store-finder/?features=repairService" target="_blank" rel="noopener noreferrer">Storefinder</a>"],"repair-status":["Hier können Sie ganz einfach den Status Ihrer Reparatur überprüfen: <a href="/s-faq-repairs/Swarovski-Repair-Replacement-FAQs/?accordionID=CheckRepairStatusThemedAccordionEntryComponent" target="_blank" rel="noopener noreferrer">Reparaturstatus anzeigen</a>"],"repair-cost":["Bitte bringen Sie Ihr Produkt und den Kaufnachweis in den Swarovski Store in Ihrer Nähe zur Begutachtung.","Ihren nächstgelegenen Store finden Sie ganz einfach mit unserem Online-<a href="/store-finder/?features=repairService" target="_blank" rel="noopener noreferrer">Storefinder</a>"],"repair-visitStore":["Sie müssen ein Geschäft aufsuchen, da nur autorisierte Geschäfte in der Lage sind, das Produkt ordnungsgemäß zu bewerten und zu reparieren."]}
3
Contact Options
Choose your preferred contact option
E-Mail
Voraussichtliche Wartezeit:
1– 3 Werktage
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.
$(this).closest('#gb-contactEmailFormConfigWrapper').find('.js-gb-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);
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/
*/
data.fv.disableSubmitButtons(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();
}
};