$(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
Tárgy
Válassza az alábbi témák egyikét
$(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":["หากต้องการทราบขนาดที่เหมาะสม กรุณาใช้คู่มือขนาดของเรา","สำหรับข้อมูลเพิ่มเติม กรุณาตรวจสอบที่ <a href="/s-swarovski-ring-size/" target="_blank" rel="noopener noreferrer">คู่มือขนาด</a>"],"product-availability":["คุณสามารถตรวจสอบความพร้อมของสินค้าในร้าน โปรดทำตามขั้นตอนเหล่านี้: <br/>1. เลือกสินค้าของคุณจากร้านค้าออนไลน์ของเรา <br/>2. ในหน้ารายละเอียดสินค้า ถัดจาก “เพิ่มในถุง” ให้เลือก “ค้นหาในร้าน” จากนั้นคลิก Click & Collect: ตรวจสอบความพร้อม <br/>3. ป้อนตำแหน่งปัจจุบันหรือที่ต้องการของคุณและเรียกดูตัวเลือกที่มีอยู่","สำหรับข้อมูลเพิ่มเติม โปรดตรวจสอบที่ <a href="/s-faq-order/?accordionID=CC-Overview_AE-product_availibility" target="_blank" rel="noopener noreferrer">คำถามที่พบบ่อย</a>"],"product-colors":["ใช้ตัวกรองสีในหน้ารายการสินค้า หรือตรวจสอบตัวเลือกสีในหน้ารายละเอียดสินค้าเพื่อค้นหาสีที่ตรงใจ"],"promotion-info":["Swarovski มีโปรโมชั่นลดราคาตลอดทั้งปี เพื่อให้คุณไม่พลาดข่าวสาร เราขอแนะนำให้สมัครรับจดหมายข่าวของเรา"],"promotion-extension":["โปรโมชั่นของเรามีระยะเวลาที่กำหนดไว้เสมอ และเมื่อสิ้นสุดระยะเวลา รหัสส่วนลดจะหยุดทำงานโดยอัตโนมัติหรือราคาจะกลับมาเป็นราคาปกติ คำสั่งซื้อที่ทำก่อนการเปิดตัวโปรโมชั่นไม่สามารถแก้ไขเพื่อใช้ประโยชน์จากโปรโมชั่นใหม่ได้"],"promotion-quality":["โปรดตรวจสอบ ข้อกำหนดและเงื่อนไข ของโปรโมชั่นเพื่อให้แน่ใจว่าสินค้าของคุณมีคุณสมบัติตรงตามที่กำหนด และยืนยันว่าคุณสั่งซื้อภายในระยะเวลาโปรโมชั่น","สำหรับข้อมูลเพิ่มเติม โปรดตรวจสอบที่ <a href="/s-faq-order/?accordionID=CC-Overview_AE-purchase_qualify" target="_blank" rel="noopener noreferrer">คำถามที่พบบ่อย</a>"],"order-resendOrderConfirmation":["แน่นอน! หากคุณต้องการอัปเดตคำสั่งซื้อของคุณ โปรดไปที่ <a href="/s-faq-orderstatus/Swarovski-Order-Status-FAQs/" target="_blank" rel="noopener noreferrer">สถานะคำสั่งซื้อ</a> หากคุณไม่ทราบหมายเลขคำสั่งซื้อของคุณ เพียงแค่ระบุที่อยู่อีเมลของคุณ แล้วเราจะส่งคำยืนยันคำสั่งซื้อให้คุณอีกครั้ง"],"order-orderStatus":["คุณสามารถตรวจสอบสถานะคำสั่งซื้อของคุณได้ง่ายๆ ที่นี่ <a href="/s-faq-orderstatus/Swarovski-Order-Status-FAQs/" target="_blank" rel="noopener noreferrer">สถานะคำสั่งซื้อ</a>."],"order-cancelEntire":["คุณสามารถยกเลิกคำสั่งซื้อได้ภายในประมาณ 15 นาทีหลังจากได้รับการยืนยันคำสั่งซื้อ","สำหรับข้อมูลเพิ่มเติม กรุณาตรวจสอบที่ <a href="/s-faq-order/?accordionID=CC-Overview_AE-cancel_order_new" target="_blank" rel="noopener noreferrer">คำถามที่พบบ่อย</a>"],"order-cancelPartially":["การยกเลิกบางส่วนไม่สามารถทำได้ คุณสามารถยกเลิกคำสั่งซื้อได้ทั้งหมดภายในเวลาประมาณ 15 นาทีหลังการยืนยัน","โปรดดู <a href="/s-faq-order/?accordionID=CC-Overview_AE-cancel_order_new" target="_blank" rel="noopener noreferrer">FAQ</a> สำหรับรายละเอียด"],"order-changeBillingAddress":["เราไม่สามารถเปลี่ยนที่อยู่สำหรับการเรียกเก็บเงินได้"],"order-return":["คุณสามารถทำตามขั้นตอนที่ระบุไว้ใน <a href="/s-faq-return/?accordionID=CC-Overview_AE-how-do-I-return-my-item" target="_blank" rel="noopener noreferrer">คำถามที่พบบ่อย</a> ของเราเพื่อรับคำแนะนำอย่างละเอียด"],"order-returnPolicy":["สำหรับข้อมูลเพิ่มเติมเกี่ยวกับนโยบายการคืนสินค้าของเรา คลิกที่นี่ <a href="/s-faq-return/?accordionID=CC-Overview_AE-can-I-do-a-return" target="_blank" rel="noopener noreferrer">FAQ</a>"],"order-onlineRefundStatus":["การคืนสินค้าจะใช้เวลาประมาณ 14 วันทำการ คุณจะได้รับอีเมลยืนยันเมื่อเราได้รับสินค้าคืนแล้ว และการคืนเงินอาจใช้เวลาถึง 10 วันทำการในการปรากฏในบัญชีของคุณ","สำหรับข้อมูลเพิ่มเติม โปรดดูที่ <a href="/s-faq-return/?accordionID=CC-Purchase-Returns_AE-when-will-I-receive-my-refund" target="_blank" rel="noopener noreferrer">คำถามที่พบบ่อย</a>."],"exchange-exchangeProduct":["คุณไม่สามารถเปลี่ยนสินค้าได้ โปรดส่งคืนสินค้าที่ไม่ต้องการตามนโยบายการคืนสินค้าของเราและสั่งซื้อใหม่สำหรับสินค้าที่ถูกต้อง","สำหรับข้อมูลเพิ่มเติม โปรดดูที่ <a href="/s-faq-return/?accordionID=CC-Purchase-Returns_AE-exchange-purchase" target="_blank" rel="noopener noreferrer">คำถามที่พบบ่อย</a>"],"exchange-exchangeInStore":["คุณสามารถค้นหาข้อมูลโดยละเอียดได้ใน <a href="/s-faq-return/?accordionID=CC-Purchase-Returns_AE-exchange-product" target="_blank" rel="noopener noreferrer">คำถามที่พบบ่อย</a> ของเรา"],"exchange-exchangeProductFromAnotherCountry":["เนื่องจากเหตุผลหลายประการ Swarovski ไม่มีนโยบายการแลกเปลี่ยนหรือคืนสินค้าระหว่างประเทศ ดังนั้นเราจึงไม่สามารถแลกเปลี่ยน ทดแทน หรือคืนเงินสำหรับสินค้าที่ซื้อจากต่างประเทศได้"],"delivery-tracking":["Megkapta a követési linket a szállítási visszaigazolással. Alternatív megoldásként itt ellenőrizheti a küldemény előrehaladását: <a href="/s-faq-orderstatus/Swarovski-Order-Status-FAQs/" target="_blank" rel="noopener noreferrer">order status</a>."],"delivery-damagedItem":["Elnézést kérünk az okozott kellemetlenségért. Kérjük, vegye fel a kapcsolatot ügyfélszolgálatunkkal, és küldje el a szállítódoboz és a sérült termék képeit, és megoldást keresünk Önnek."],"delivery-missingItem":["Elnézést kérünk az okozott kellemetlenségért. Meg lett rongálva a szállítódoboz? Kérjük, vegye fel a kapcsolatot ügyfélszolgálatunkkal, és küldje el a szállítódoboz képeit, kivizsgáljuk és megoldást találunk Önnek."],"delivery-changeAddress":["A szállítmány már úton van, ezért a szállítási cím vagy időpont módosítása nem biztos, hogy lehetséges. A szállítópartnerünk webportálján kezelheti a szállítási lehetőségeket.","További részletekért tekintse meg <a href="/s-faq-shipping/Swarovski-Shipping-FAQs/?accordionID=CC-Overview_AE-delivery_address" target="_blank" rel="noopener noreferrer">GYIK</a> oldalunkat."],"delivery-changeCountry":["Egy másik országba/régióba történő szállítás nem lehetséges. Kérjük, rendeljen a célország/régió online áruházából. Az ország/régió és a nyelv módosításához kattintson a választómenüben az ország/régió nevére."],"payment-electronicCard":["Az elektronikus ajándékkártyák a fizetési szakaszban kerülnek bevitelre a pénztárnál. Ellenőrizze, hogy helyesen adja-e meg a 10 vagy 16 jegyű kártyaszámot. Győződjön meg arról, hogy nem kedvezménykódot vagy utalványkódot ad meg.","További információkért ellenőrizze itt <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":["Több ajándékkártyával történő fizetéshez kövesse az ajándékkártyák egyesítésének lépéseit a fizetési szakaszban."],"payment-payWith":["Ajándékkártyája beváltásához kövesse a <a href="/s-faq-giftcard-voucher/Swarovski-Gift-Cards-Voucher-FAQs/?accordionID=CC-Purchase-Vouchers_AE-redeem-gift-card" target="_blank" rel="noopener noreferrer">GYIK</a>-ban leírt egyszerű lépéseket."],"payment-rejection":["Kérjük, győződjön meg arról, hogy a fizetési és személyes adatai összhangban vannak. További információkért tekintse meg a <a href="/s-faq-payment/Swarovski-Payment-FAQs/?accordionID=CC-Purchase-Payment_AE-methods" target="_blank" rel="noopener noreferrer">GYIK</a>-et."],"website-unableToCheckout":["Kérjük, ellenőrizze itt, mielőtt kapcsolatba lép velünk <a href="/s-faq-order/?accordionID=CC-Purchase-Order_AE-website-issue" target="_blank" rel="noopener noreferrer">GYIK weboldalprobléma</a>."],"website-resetPassword":["Kérjük, használja az „elfelejtett jelszó” funkciót.","További információkért nézze meg itt <a href="/s-faq-order/?accordionID=CC-Purchase-Order_AE-reset_pasword" target="_blank" rel="noopener noreferrer">FAQ</a>."],"website-unableToLogin":["Kérjük, használja az „elfelejtett jelszó” funkciót.","További információkért nézze meg itt <a href="/s-faq-order/?accordionID=CC-Purchase-Order_AE-reset_pasword" target="_blank" rel="noopener noreferrer">FAQ</a>."],"swarovskiclub-unsubscribeNewsletter":["Kétféle e-mailt küldünk: hírleveleket akciókkal és kollekciókkal, valamint tagsági frissítéseket (jutalmak, állapot vagy programváltozások). Ha le szeretne iratkozni a hírlevelekről, kattintson az e-mail alján található „leiratkozás” gombra, vagy frissítse beállításait a Swarovski.com oldalon, a „Saját fiók” alatt. Az összes kommunikáció leállításához, beleértve a jutalmakat is, vegye fel a kapcsolatot az Ügyfélszolgálattal fiókja lezárásához."],"swarovskiclub-emailAfterUnsubscribe":["Ha leiratkozott hírlevelünkről, de továbbra is Swarovski Club-tag, továbbra is fog kapni e-maileket a jutalmakról, szint státuszáról vagy programváltozásokról. Ezek leállításához vegye fel a kapcsolatot az Ügyfélszolgálattal fiókja lezárása érdekében. Elképzelhető, hogy egyik almárkánk frissítéseire is feliratkozott."],"swarovskiclub-voucherNotWorking":["További részletekért látogasson el a GYIK-bejegyzésünkre, hogy megtudja, hogyan csatolhatja klubtagságát és használhatja kedvezményes utalványát <a href="/s-faq-club/?accordionID=CC-Membership-Swa-Club_AE-not-use-discount-voucher" target="_blank" rel="noopener noreferrer">FAQ</a>."],"swarovskiclub-extendedVoucher":["A Swarovski Club kedvezményes utalványai nem hosszabbíthatók meg. A felhasználási időszakot a kapott jutalom e-mailben szereplő Feltételek és Kondíciók határozzák meg."],"swarovskiclub-saleItem":["A Swarovski Club kedvezményes utalványai nem használhatók akciós termékekre. További részletekért kérjük, tekintse meg a feltételeket a kapott jutalom e-mailben."],"swarovskiclub-birthdayGiftVoucher":["Az Ön által kiválasztott üzletben veheti át ajándékát. Ha nincs kedvenc üzlete, vagy nem biztos abban, melyiket válassza, jelentkezzen be fiókjába, és válasszon egy kedvenc üzletet. Alternatív megoldásként használhatja az Üzletkeresőt is, hogy megtalálja a Swarovski Club-ot kínáló üzleteket. Egyes piacokon a vásárlók online is beválthatják ajándékukat a következő online vásárláskor."],"scsmembership-renewMembership":["A tagság megújításához kövesse a <a href="/s-faq-scs/Swarovski-Crystal-Society-FAQs-/?accordionID=SCS-LP_FAQ_AE-how-can-I-renew-membership" target="_blank" rel="noopener noreferrer">GYIK</a> részben leírt egyszerű lépéseket"],"scsmembership-becomeMember":["Új taggá váláshoz kövesse a <a href="/s-faq-scs/Swarovski-Crystal-Society-FAQs-/?accordionID=CC-Membership-SCS_AE-how-to-join-renew-online" target="_blank" rel="noopener noreferrer">GYIK</a> részben leírt egyszerű lépéseket"],"scsmembership-membershipArrival":["A tagsági csomagokat általában 4-6 héttel a regisztráció után küldik el, az új vagy megújított tagságokat a következő hónap első napján postázzák. A 3 éves tagságok (2. és 3. év) esetében a csomagokat az év elején küldik el, lehetővé téve a tagok számára, hogy élvezzék az éves ajándékot és felfedezzék az új termékeket."],"warranty-itemCoveredByWarrant":["A Swarovski teljes körű garanciát vállal a hivatalos üzletekből vagy engedélyezett viszonteladóktól vásárolt termékek gyártási és anyaghibáira.","Garanciális szabályzatunk részleteiért tekintse meg <a href="/s-faq-warranty/?accordionID=CC-Products-Warranty_AE-policy" target="_blank" rel="noopener noreferrer">GYIK</a>."],"warranty-warrantyPolicy":["A garanciális irányelveink teljes áttekintéséhez kérjük, látogassa meg a <a href="/s-faq-warranty/?accordionID=CC-Products-Warranty_AE-policy" target="_blank" rel="noopener noreferrer">GYIK</a> szakaszt."],"repair-repairableItem":["Ha szeretné megtudni, kérjük, vigye el termékét és vásárlási bizonylatát a legközelebbi Swarovski üzletbe értékelésre.","A legközelebbi üzletet online <a href="/store-finder/?features=repairService" target="_blank" rel="noopener noreferrer">Üzletkereső</a> segítségével találhatja meg."],"repair-status":["Itt könnyedén ellenőrizheti a javítás állapotát <a href="/s-faq-repairs/Swarovski-Repair-Replacement-FAQs/?accordionID=CheckRepairStatusThemedAccordionEntryComponent" target="_blank" rel="noopener noreferrer">Javítás állapotának megtekintése</a>"],"repair-cost":["Kérjük, vigye el termékét és vásárlási bizonylatát a legközelebbi Swarovski üzletbe értékelésre.","A legközelebbi üzletet online <a href="/store-finder/?features=repairService" target="_blank" rel="noopener noreferrer">Üzletkereső</a> segítségével találhatja meg."],"repair-visitStore":["Csak az engedélyezett üzletek rendelkeznek a termék megfelelő értékeléséhez és javításához szükséges felszereltséggel, ezért fel kell keresnie egy üzletet."]}
3
Kapcsolattartási lehetőségek
Válassza ki az előnyben részesített kapcsolattartási lehetőséget
Chat
Voraussichtliche Wartezeit:
1 minute
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('#it-contactEmailFormConfigWrapper').find('.js-it-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();
}
};