超過 NT$3300 即享免費快遞運送
搜尋

聯絡

1

Tema

A fim de melhor o ajudar, selecione um tópico

請選擇您的主題/題目 *
Online Orders
Swarovski Club
Delivery
Exchange
Warranty
Repair
Product Information
Promotions
Payment
SCS membership
Website Issue
Data Privacy
Other
$(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: '請選擇您的主題/題目', message_en: '請選擇您的主題/題目' } } } } } ) .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

Assunto

Selecione um dos seguintes assuntos

請選擇您的主題/題目 *
Qual é a hiperligação de rastreamento da minha encomenda?
Um artigo da minha encomenda chegou danificado
Um artigo da minha encomenda não foi enviado
Pode alterar o meu endereço de entrega?
Como poderei enviar a minha encomenda para outro país?
Outro
O meu artigo pode ser reparado?
Qual o estado da minha reparação?
Quanto custa uma reparação?
Porque devo deslocar-me a uma loja para a reparação de um artigo?
Outro
Poderia indicar o tamanho do produto?
Onde está disponível este produto?
Quais as opções de cores disponíveis?
Como posso pedir um produto Swarovski Created Diamonds feito sob encomenda?
outro
O meu endereço postal não é reconhecido como um endereço válido
Não consigo concluir o processo de pagamento da compra
Posso repor a palavra-passe da minha conta?
Não consigo iniciar sessão na minha conta
Outro
Outro
Pedido de Acesso do Titular dos Dados
Direito ao apagamento (‘direito a ser esquecido’)
Reclamações
Como renovo a minha subscrição?
Como me torno sócio SCS?
Quando irei receber o meu pacote de subscrição?
Outro
Como cancelo a minha subscrição da newsletter do Swarovski Club?
Por que motivo continuo a receber e-mails da Swarovski depois de cancelar a subscrição da newsletter?
O meu cupão Swarovski Club não funciona
O meu cupão de desconto Swarovski Club pode ser alargado?
O meu cupão de desconto Swarovski Club pode ser usado em artigos em saldo?
Como utilizo o meu cupão de oferta de aniversário?
Outro
O meu produto está coberto pela garantia?
Qual é a vossa política de garantia?
Outro
Posso trocar um produto da minha encomenda online?
Posso trocar um produto comprado numa loja de outro país?
Posso trocar a minha compra online numa loja?
Outro
Por que motivo o meu cartão presente eletrónico não é aceite online?
Posso usar mais de 1 cartão presente eletrónico para pagamento?
Como faço para pagar uma compra online com um cartão presente eletrónico?
Por que motivo o meu pagamento foi rejeitado?
Por que motivo o meu pagamento foi reembolsado?
Outro
Poderia dar informações sobre a promoção atual?
Pode estender a promoção?
Por que motivo a minha compra não é elegível para a promoção?
Outro
Poderia reenviar a confirmação da minha encomenda?
Qual é o estado da minha encomenda online?
Posso cancelar a minha encomenda online completa?
Posso cancelar parte da minha encomenda online?
Pode alterar o meu endereço de faturação?
Como posso devolver a minha encomenda online?
Qual é a vossa política de devoluções online?
Qual é o estado do meu reembolso online?
Outro
$(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: '請選擇您的主題/題目', message_en: '請選擇您的主題/題目' } } } } } ) .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: '請輸入您的主旨', message_en: '請輸入您的主旨' }, stringLength: { message: '此欄位的字母數必需介於 0 和 40', message_en: 'The number of characters for this field must be between 0 and 40', min: 0 , max: 40 }, } } } } ) .on('success.field.fv', function() { /* note: we need to check if there is an error in the form, as the plugin does a validation on field level. Validating the whole form on blur of a field is no option, as the customer does not want to see error messages on all fields when entering one field. In case of an error on at least one field we disable the submit button manually */ var $form = $(this).closest('form'); if ($form.find('.form-group.has-error').length > 0) { var $button = $form.find('.js-button'); if (!$button.hasClass('disabled')) { $button.addClass('disabled'); } } }) .on('err.field.fv', function(e, data) { /* * On error field validation, enable submit button. * Source: https://old.formvalidation.io/examples/enabling-submit-button/ */ data.fv.disableSubmitButtons(false); $(data.element).attr('aria-invalid', 'true'); // Get error messages var messages = data.fv.getMessages(data.element); // ✅ Announce error to screen readers if ($(data.element).closest('.js-advent-calendar-container').length > 0 && messages.length > 0 && window.ACC && window.ACC.adventcalendar && typeof ACC.adventcalendar.adventcalendarUpdateErrorSpanAttributes === 'function') { const selectedField = data.element.attr('id'); ACC.adventcalendar.adventcalendarUpdateErrorSpanAttributes(selectedField, true); ACC.adventcalendar.announceToScreenReader('Error: ' + messages[0]); } if(data.element.closest('.form-combo-molecule').length){ /* Get the messages of field */ var messages = data.fv.getMessages(data.element); /* Get the error message content of the field */ var errorContent = data.element.closest('.form-combo-molecule').find('.errors'); /* Get the hidden error message of the field */ var errorField = errorContent.find('.swa-form-input__error-message[data-field="' + data.field + '"][style="display: none;"]'); /* Loop over the messages */ for (var i in messages) { if (errorField[1] == undefined) { var newErrorContainer = document.createElement("small"); $(newErrorContainer).attr("class", "swa-form-input__error-message swa-headline-sans--supertiny"); $(newErrorContainer).attr("data-field", data.field); $(newErrorContainer).attr("data-fv-validator", "callback"); $(newErrorContainer).attr("data-fv-for", $(data.element[0]).attr("name") ); $(newErrorContainer).attr("data-fv-result", "INVALID"); $(newErrorContainer).attr("data-tracked", "true"); $(newErrorContainer).html(messages[i]); if (errorContent.text().includes(messages[i])) { $(newErrorContainer).hide(); } errorContent.append(newErrorContainer); } } } }) .on('success.field.fv', function(e, data) { /* * On success field validation, enable submit button. * Source: https://old.formvalidation.io/examples/enabling-submit-button/ */ if ($(data.element).closest('.js-advent-calendar-container').length > 0 && window.ACC && window.ACC.adventcalendar && typeof ACC.adventcalendar.adventcalendarUpdateErrorSpanAttributes === 'function') { const selectedField = data.element.attr('id'); ACC.adventcalendar.adventcalendarUpdateErrorSpanAttributes(selectedField, false); } data.fv.disableSubmitButtons(false); // ✅ Remove aria-invalid on field $(data.element).attr('aria-invalid', 'false'); /* Remove the field messages */ $errorContent = data.element.closest('.form-combo-molecule').find('.errors'); $errorContent.find('.swa-form-input__error-message[data-field="' + data.field + '"]').remove(); $errorContent.find('.swa-form-input__error-message[data-fv-result="INVALID"]').removeAttr("style"); }) .on('success.form.fv', function() { var formId = 'contactSubjectOther'; if (!formId || formId === 'cfRequest' || formId === 'cfResponse') { formId = 'contactSubjectOtherFormDefinition'; } ACC.tracking.pushFormSubmit(formId); }); var replaceDatePatternWithValue = function(mandatory, fieldConfigCode, fieldConfigPattern) { var date = fieldConfigPattern.toUpperCase(); var year = $("#" + fieldConfigCode + "_year").val(); var month = $("#" + fieldConfigCode + "_month").val(); var day = $("#" + fieldConfigCode + "_day").val(); date = date.replace(/[Y]+/, year); date = date.replace(/[M]+/, month); date = date.replace(/[D]+/, day); var hiddenDateField = $('.js-' + fieldConfigCode + '_hidden'); if (mandatory) { hiddenDateField.val(date); } else { hiddenDateField.val(date == "" ? "" : date); } }; var triggerFormValidation = function(fieldId, mandatory, fieldCode, dateFormat) { replaceDatePatternWithValue(mandatory, fieldCode, dateFormat); $('.js-fieldCode').formValidation('revalidateField', 'values[fieldCode_'+ fieldId + ']'); }; var removeDateMoleculeError = function(molecule) { if(molecule.hasClass('has-error')){ molecule.removeClass('has-error'); molecule.find('.help-block').find('span').remove(); } };

{"didYouKnowLabel":"您知道嗎:","product-size":["Para saber o seu tamanho ideal, utilize o nosso guia de tamanhos.","Para mais informações, consulte o nosso <a href="/s-swarovski-ring-size/" target="_blank" rel="noopener noreferrer">Guia de Tamanhos</a>."],"product-availability":["Para verificar a disponibilidade na loja, siga estes passos: <br/>1. Escolha o seu produto na nossa loja online. <br/>2. Na página de detalhes do produto, ao lado de “Adicionar ao carrinho,” selecione “Encontrar em loja,” depois clique em “Click & Collect: Verificar disponibilidade.” <br/>3. Introduza a sua localização atual ou preferida e veja as opções disponíveis.","Para mais informações, consulte as nossas <a href="/s-faq-order/?accordionID=CC-Overview_AE-product_availibility" target="_blank" rel="noopener noreferrer">FAQ</a>."],"product-colors":["Por favor use o Filtro de Cor na página de lista de produtos ou verifique as variações de cor na página de detalhes do produto para encontrar a correspondência perfeita."],"promotion-info":["A Swarovski realiza promoções ao longo do ano; para se manter atualizado, recomendamos inscrever-se na nossa newsletter."],"promotion-extension":["Nossas promoções sempre têm períodos de validade definidos e, assim que a data de término passa, os códigos de desconto deixam de funcionar automaticamente ou o preço padrão retorna. Os pedidos feitos antes do lançamento de uma promoção não podem ser alterados para aproveitar a nova promoção."],"promotion-quality":["Verifique os Termos & Condições da promoção para garantir que o seu artigo é elegível e confirme que a sua encomenda foi efetuada durante o período promocional.","Para mais detalhes, consulte as nossas <a href="/s-faq-order/?accordionID=CC-Overview_AE-purchase_qualify" target="_blank" rel="noopener noreferrer">FAQ</a>."],"order-resendOrderConfirmation":["Com certeza! Se você deseja uma atualização sobre seu pedido, visite <a href="/s-faq-orderstatus/Swarovski-Order-Status-FAQs/" target="_blank" rel="noopener noreferrer">Estado da encomenda</a>. Se você não souber o número do seu pedido, basta fornecer seu endereço de e-mail e reenviaremos a confirmação do pedido."],"order-orderStatus":["Pode facilmente verificar o estado da sua encomenda aqui <a href="/s-faq-orderstatus/Swarovski-Order-Status-FAQs/" target="_blank" rel="noopener noreferrer">Estado da encomenda</a>."],"order-cancelEntire":["Pode ser possível cancelar a sua encomenda dentro de aproximadamente 15 minutos após a receção da confirmação da encomenda.","Para mais informações, consulte as nossas <a href="/s-faq-order/?accordionID=CC-Overview_AE-cancel_order_new" target="_blank" rel="noopener noreferrer">FAQ</a>."],"order-cancelPartially":["Cancelamentos parciais não são possíveis, apenas cancelamentos completos do pedido em aproximadamente 15 minutos após a confirmação.","Veja <a href="/s-faq-order/?accordionID=CC-Overview_AE-cancel_order_new" target="_blank" rel="noopener noreferrer">FAQ</a> para mais detalhes."],"order-changeBillingAddress":["Não conseguimos alterar um endereço de cobrança."],"order-return":["Você pode seguir os passos descritos em nosso <a href="/s-faq-return/?accordionID=CC-Overview_AE-how-do-I-return-my-item" target="_blank" rel="noopener noreferrer">FAQ</a> para obter orientações detalhadas."],"order-returnPolicy":["Para mais informações sobre nossa política de devolução, clique aqui <a href="/s-faq-return/?accordionID=CC-Overview_AE-can-I-do-a-return" target="_blank" rel="noopener noreferrer">FAQ</a>"],"order-onlineRefundStatus":["As devoluções demoram cerca de 14 dias úteis. Receberá um email de confirmação assim que recebermos a sua devolução, e o reembolso pode demorar até 10 dias úteis a aparecer na sua conta.","Para mais detalhes, consulte as nossas <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":["Trocas não são possíveis. Por favor, devolva os artigos indesejados de acordo com a nossa política de devoluções e faça uma nova encomenda para o produto correto.","Para mais detalhes, consulte as nossas <a href="/s-faq-return/?accordionID=CC-Purchase-Returns_AE-exchange-purchase" target="_blank" rel="noopener noreferrer">FAQ</a>."],"exchange-exchangeInStore":["Você pode encontrar informações detalhadas em nosso <a href="/s-faq-return/?accordionID=CC-Purchase-Returns_AE-exchange-product" target="_blank" rel="noopener noreferrer">FAQ</a>."],"exchange-exchangeProductFromAnotherCountry":["Por várias razões, a Swarovski não tem uma política global de trocas ou reembolsos. Portanto, não podemos trocar, substituir ou reembolsar produtos comprados em outros países."],"delivery-tracking":["Você recebeu o link de rastreamento com sua confirmação de envio. Alternativamente, você pode verificar o progresso de sua remessa aqui: <a href="/s-faq-orderstatus/Swarovski-Order-Status-FAQs/" target="_blank" rel="noopener noreferrer">Estado da encomenda</a>."],"delivery-damagedItem":["Pedimos desculpas pelo inconveniente. Por favor, entre em contato com o nosso serviço de atendimento ao cliente e forneça fotos da caixa de envio e do produto danificado para que possamos encontrar uma solução para você."],"delivery-missingItem":["Pedimos desculpas pelo inconveniente. A caixa de envio foi violada? Por favor, entre em contato com o nosso serviço de atendimento ao cliente com fotos da caixa de envio, iremos investigar e encontrar uma solução para você."],"delivery-changeAddress":["Alterar o endereço ou a data de entrega pode não ser possível depois que a encomenda estiver em trânsito. Por favor use o portal online do nosso parceiro de entrega para gerir as opções de entrega.","Para mais detalhes, consulte as nossas <a href="/s-faq-shipping/Swarovski-Shipping-FAQs/?accordionID=CC-Overview_AE-delivery_address" target="_blank" rel="noopener noreferrer">FAQ</a>."],"delivery-changeCountry":["A entrega para outro país/região não é possível. Por favor, faça seu pedido na loja online do destino de entrega. Para alterar o país/região e idioma, clique no nome do país/região no menu de seleção."],"payment-electronicCard":["Os cartões-presente eletrônicos são inseridos na etapa de pagamento do checkout. Confirme se você está inserindo o número do cartão de 10 ou 16 dígitos corretamente. Certifique-se de que não está inserindo um código de desconto ou voucher.","Para mais informações, consulte aqui <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":["Para pagar com vários cartões-presente, siga os passos para fundir os cartões-presente na fase de pagamento."],"payment-payWith":["Para resgatar seu cartão-presente, siga estas etapas fáceis descritas em nosso <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":["Certifique-se de que seus dados pessoais e de pagamento estão consistentes. Para mais informações, consulte nossas <a href="/s-faq-payment/Swarovski-Payment-FAQs/?accordionID=CC-Purchase-Payment_AE-methods" target="_blank" rel="noopener noreferrer">FAQ</a>."],"website-unableToCheckout":["Por favor, verifique aqui antes de nos contatar <a href="/s-faq-order/?accordionID=CC-Purchase-Order_AE-website-issue" target="_blank" rel="noopener noreferrer">Problema no site FAQ</a>."],"website-resetPassword":["Por favor, use a função "esqueceu sua senha".","Para mais informações, por favor visite <a href="/s-faq-order/?accordionID=CC-Purchase-Order_AE-reset_pasword" target="_blank" rel="noopener noreferrer">FAQ</a>."],"website-unableToLogin":["Por favor, use a função "esqueceu sua senha".","Para mais informações, por favor visite <a href="/s-faq-order/?accordionID=CC-Purchase-Order_AE-reset_pasword" target="_blank" rel="noopener noreferrer">FAQ</a>."],"swarovskiclub-unsubscribeNewsletter":["Enviamos dois tipos de e-mails: boletins informativos com promoções e coleções, e atualizações de membros (recompensas, status ou alterações do programa). Para cancelar a inscrição em boletins, clique em "cancelar inscrição" na parte inferior do e-mail ou atualize suas configurações em "Minha conta" no Swarovski.com. Para parar todas as comunicações, incluindo recompensas, entre em contato com o Serviço de Atendimento ao Cliente para encerrar sua conta."],"swarovskiclub-emailAfterUnsubscribe":["Se você cancelou a inscrição em nosso boletim informativo, mas continua sendo membro do Swarovski Club, você ainda receberá e-mails sobre recompensas, status de nível ou alterações no programa. Para interromper isso, entre em contato com o Atendimento ao Cliente para fechar sua conta. Você também pode estar inscrito para atualizações de uma de nossas submarcas."],"swarovskiclub-voucherNotWorking":["Para mais detalhes, acesse nossa entrada no FAQ sobre como vincular sua associação ao clube e usar seu voucher de desconto <a href="/s-faq-club/?accordionID=CC-Membership-Swa-Club_AE-not-use-discount-voucher" target="_blank" rel="noopener noreferrer">FAQ</a>."],"swarovskiclub-extendedVoucher":["Os vouchers de desconto do Swarovski Club não podem ser estendidos. O período de validade está especificado nos Termos e Condições incluídos no e-mail de recompensa que você recebeu."],"swarovskiclub-saleItem":["Os vouchers de desconto do Swarovski Club não podem ser usados em itens em promoção. Para mais detalhes, consulte os Termos e Condições incluídos no e-mail de recompensa que você recebeu."],"swarovskiclub-birthdayGiftVoucher":["Você pode retirar seu presente na loja de sua preferência. Se você não tiver uma ou não souber qual visitar, pode fazer login na sua conta e selecionar uma loja preferida. Alternativamente, você também pode usar nosso Localizador de Lojas para encontrar uma loja que ofereça o Swarovski Club. Clientes em alguns mercados podem resgatar seu presente online na próxima compra online."],"scsmembership-renewMembership":["Para renovar sua assinatura, siga estas etapas simples descritas em nossa <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":["Para se tornar um novo membro, siga estas etapas simples descritas em nossa <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":["Os pacotes de adesão são normalmente enviados 4-6 semanas após a inscrição, com novas adesões ou renovações despachadas no primeiro dia do mês seguinte. Para adesões de 3 anos (2º e 3º anos), os pacotes são enviados no início do ano, permitindo que os membros aproveitem o presente anual e explorem novas novidades."],"warranty-itemCoveredByWarrant":["A Swarovski oferece uma garantia completa para defeitos de fabrico e materiais em produtos adquiridos em lojas oficiais ou revendedores autorizados.","Para mais detalhes sobre a nossa política de garantia, consulte as nossas <a href="/s-faq-warranty/?accordionID=CC-Products-Warranty_AE-policy" target="_blank" rel="noopener noreferrer">FAQ</a>."],"warranty-warrantyPolicy":["Para uma visão completa de nossa política de garantia, visite nossa seção dedicada de <a href="/s-faq-warranty/?accordionID=CC-Products-Warranty_AE-policy" target="_blank" rel="noopener noreferrer">Perguntas frequentes</a>."],"repair-repairableItem":["Para saber mais, leve o seu produto e o comprovativo de compra à loja Swarovski mais próxima para avaliação.","Pode encontrar a loja mais próxima utilizando o nosso <a href="/store-finder/?features=repairService" target="_blank" rel="noopener noreferrer">Localizador de Lojas</a>."],"repair-status":["Pode facilmente verificar o estado da sua reparação aqui <a href="/s-faq-repairs/Swarovski-Repair-Replacement-FAQs/?accordionID=CheckRepairStatusThemedAccordionEntryComponent" target="_blank" rel="noopener noreferrer">Ver estado de reparação</a>."],"repair-cost":["Para saber o seu tamanho ideal, utilize o nosso guia de tamanhos.","Para mais informações, consulte o nosso <a href="/store-finder/?features=repairService" target="_blank" rel="noopener noreferrer">Guia de Tamanhos</a>."],"repair-visitStore":["Você precisa visitar uma loja porque apenas as lojas autorizadas estão equipadas para avaliar e reparar corretamente o produto."]}
3

Opções de contacto

Escolha a sua opção de contacto preferida

電子郵件

預估等候時間: 1- 3個工作日

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.

名字 *
姓氏 *
電話
電子郵件 *
國家/地區 *
不丹
中國大陸
中非共和國
丹麥
亞塞拜然
亞美尼亞
以色列
伊拉克
伊朗
保加利亞
克羅埃西亞
冰島
列支敦斯登
利比亞阿拉伯群眾國
剛果
剛果民主共和國
加彭
加拿大
匈牙利
北馬利安納群島
千里達及托巴哥
南喬治亞及南三明治群島
南極洲
南非
卡達
印尼
印度
厄利垂亞
厄瓜多
古巴
古拉索
可可斯(基林)群島
台灣地區
史瓦濟蘭
吉布地
吉爾吉斯
吉里巴斯
吐瓦魯
哈薩克
哥倫比亞
哥斯大黎加
喀麥隆
喬治亞
土克凱可群島
土庫曼
土耳其
坦尚尼亞
埃及
塔吉克
塞內加爾
塞席爾
塞爾維亞
墨西哥
多哥
多明尼加共和國
多米尼克
大韓民國
奈及利亞
奧地利
奧蘭群島
委內瑞拉
孟加拉
安吉拉
安哥拉
安地卡及巴布達
安道爾
密克羅尼西亞聯邦
寮人民民主共和國
尚比亞
尼加拉瓜
尼日
尼泊爾
巴勒斯坦地區
巴哈馬
巴基斯坦
巴布亞紐幾內亞
巴拉圭
巴拿馬
巴林
巴西
巴貝多
布吉納法索
希臘
帛琉
幾內亞
幾內亞比索
庫克群島
德國
愛沙尼亞
愛爾蘭
所羅門群島
托克勞
拉脫維亞
挪威
捷克共和國
摩洛哥
摩爾多瓦
摩納哥
教廷(梵蒂岡城國)
斐濟
斯洛伐克
斯洛維尼亞
斯瓦巴及尖棉
斯里蘭卡
新加坡
新喀里多尼亞
日本
智利
曼島
朝鮮民主主義人民共和國
東加
東帝汶
查德
柬埔寨
格瑞那達
格陵蘭
模里西斯
比利時
汶萊和平之國
沙烏地阿拉伯
法國
法屬南部屬地
法屬圭亞那
法屬波里尼西亞
法屬聖馬丁
法羅群島
波士尼亞與赫塞哥維納
波多黎各
波奈、聖佑達修斯及荷屬沙巴
波札那
波維特島
波蘭
泰國
洪都拉斯
海地
澤西島
澳洲
澳門特別行政區
烏克蘭
烏干達
烏拉圭
烏茲別克
牙買加
獅子山
玻利維亞
瑞典
瑞士
瓜地洛普
瓜地馬拉
瓦利斯群島和富圖那群島
甘比亞
留尼旺
白俄羅斯
百慕達
皮特凱恩
盧安達
盧森堡
直布羅陀
福克蘭群島
科威特
秘魯
突尼西亞
立陶宛
約旦
納米比亞
紐埃
紐西蘭
索馬利亞
維德角島
緬甸
羅馬尼亞
美國
美國邊疆群島
美屬維京群島
美屬薩摩亞
義大利
耿西島
聖克里斯多福及尼維斯
聖多美普林西比
聖巴瑟米
聖文森及格瑞那丁
聖皮埃與密克隆群島
聖誕島
聖赫勒拿、亞森欣、特里斯坦達庫尼亞群島
聖露西亞
聖馬利諾
肯亞
芬蘭
英國
英屬印度洋領地
英屬維京群島
茅利塔尼亞
荷屬聖馬丁
荷蘭
莫三比克
菲律賓
萬那杜
葉門
葛摩
葡萄牙
蒙古
蒙哲臘
蒲隆地
蓋亞那
薩摩亞
薩爾瓦多共和國
蘇丹
蘇利南
衣索比亞
西撒哈拉
西班牙
諾福客島
諾魯
象牙海岸
貝南
貝里斯
賴比瑞亞
賴索托
賽普勒斯
赤道幾內亞
赫德島與麥當勞群島
越南
辛巴威
迦納
開曼群島
關島
阿富汗
阿拉伯敘利亞共和國
阿拉伯聯合大公國
阿曼
阿根廷
阿爾及利亞
阿爾巴尼亞
阿魯巴
香港特別行政區
馬丁尼克
馬來西亞
馬其頓
馬利
馬拉威
馬爾他
馬爾地夫
馬約特島
馬紹爾群島
馬達加斯加
黎巴嫩
黑山
訂單編號
維修編號
主題 *
您是 Swarovski Club 忠誠度計劃的會員?
您是否為施華洛世奇水晶會的會員(SCS)?
會員編號 *
剩餘 1000 個字元
請選擇您的主題/題目 *
Online Siparişler
Swarovski Club
Teslimat
Değişim
Garanti
Onarım
Ürün Bilgisi
Kampanyalar
Ödeme
SCS üyeliği
İnternet Sitesi Sorunu
Veri Gizliliği
Diğer
請選擇您的主題/題目 *
Siparişimin takibini nasıl yapabilirim?
Siparişimdeki ürünlerden biri hasarlı geldi
Siparişimdeki ürünlerden biri eksik
Teslimat adresimi değiştirebilir misiniz?
Siparişimi nasıl başka bir ülkeye gönderebilirim?
Diğer
Ürünüm onarılabilir mi?
Onarılan ürünümün durumu nedir?
Onarım ücreti ne kadar?
Ürünümün onarılması için neden fiziksel bir mağazayı ziyaret etmek zorundayım?
Diğer
Ürün bedenleri hakkında bilgi verebilir misiniz?
Bu ürün nerede mevcut?
Hangi renk seçenekleri var?
How can I order a Swarovski Created Diamonds Made-to-order product?
Other
Posta adresim geçerli bir adres olarak kabul edilmiyor
Ödeme sürecini tamamlayamıyorum
Hesabımın şifresini sıfırlayabilir misiniz?
Hesabıma giriş yapamıyorum
Diğer
Diğer
Veri sahibinin erişim talebi
Silme hakkı (‘unutulma hakkı’)
Şikayetler
Üyeliğimi nasıl yenileyebilirim?
Nasıl SCS üyesi olabilirim?
Üyelik paketim ne zaman teslim edilecek?
Diğer
Swarovski Club bülteni aboneliğinden nasıl çıkabilirim?
Bülten aboneliğinden çıktığım hâlde neden hâlâ Swarovski’den e-posta almaya devam ediyorum?
Swarovski Club Kuponum çalışmıyor
Swarovski Club indirim kuponum uzatılabilir mi?
Swarovski Club indirim kuponum indirimli ürünlerde kullanılabilir mi?
Doğum günü hediyesi kopunumu nasıl kullanabilirim?
Diğer
Ürünümün garantisi var mı?
Garanti politikanız nedir?
Diğer
Online siparişimdeki bir ürünü değiştirebilir miyim?
Online olarak satın aldığım ürünü mağazada değiştirebilir miyim?
Başka bir ülkedeki mağazadan aldığım bir ürünü değiştirebilir miyim?
Diğer
Neden elektronik hediye kartım online mağazada geçerli değil?
Ödeme yöntemi olarak birden fazla elektronik hediye kartı kullanabilir miyim?
Online olarak yaptığım bir alışverişi nasıl elektronik hediye kartıyla ödeyebilirim
Ödemem neden reddedildi?
Ödemem neden iade edildi?
Diğer
Mevcut kampanyalar hakkında bilgi verebilir misiniz?
Kampanya süresi uzatılabilir mi?
Siparişimde neden kampanyadan faydalanamadım?
Diğer
Sipariş onayımı yeniden gönderebilir misiniz?
Online siparişimin durumu nedir?
Online siparişimin tamamen iptal edebilir miyim?
Online siparişimdeki bazı ürünleri iptal edebilir miyim?
Fatura adresimi değiştirebilir misiniz?
Online siparişimi nasıl iade edebilirim?
Online siparişler için iade politikanız nedir?
Online mağazadan aldığım ürünün iade durumu nedir?
Diğer

Please note that by clicking the ‘Send’ button you accept that the conversation and further data provided by you will be stored by Swarovski. For further information, please read our data privacy policy.

* 必要欄位
$(this).closest('#tw-contactEmailFormConfigWrapper').find('.js-tw-contactEmailFormConfig') .formValidation( { autoFocus: false, framework: 'bootstrap', icon: { valid: null, invalid: null, validating: null }, fields: { 'values[contactEmailFormDefinition_title]': { trigger: 'change', validators: { } }, 'values[contactEmailFormDefinition_firstName]': { trigger: 'blur', validators: { callback: { callback: function(value, validator, $field) { var messages = []; var messagesEN = []; var errorOccured = false; if ($field.attr('regexCheckDisabled') === 'true') { return true; } if (!value.trim().match(new RegExp('^[. \\u3000\'\\-a-zA-Z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02B8\\u0370-\\u03FF\\u1F00-\\u1FFF\\u0400-\\u052F\\u1C80-\\u1C8F\\u2DE0-\\u2DFF\\uA640-\\uA69F\\u4E00-\\u9FFF\\u3400-\\u4DBF\\u3040-\\u30FF\\uF900-\\uFAFF\\uFF66-\\uFF9F\\u1100-\\u11FF\\u3130-\\u318F\\uA960-\\uA97F\\uAC00-\\uD7FF\\u3005\\u3006\\u3024\\u3029\\u3031-\\u3035\\u0E00-\\u0E7F]*$', ''))) { messages.push('只容許信件'); messagesEN.push('只容許信件'); 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('最短長度為 2 個字元'); messagesEN.push('最短長度為 2 個字元'); errorOccured |= true; } if (errorOccured) { return { valid: false, message: messages.join('<br/>'), message_en: messagesEN } } else { return true; } } }, notEmpty: { message: '您的名字', message_en: '您的名字' }, stringLength: { message: '您已超過此欄位最長的 35 個字元長度。', message_en: 'You have exceeded the maximum length of 35 characters for this field', max: 35 }, } }, 'values[contactEmailFormDefinition_lastName]': { trigger: 'blur', validators: { callback: { callback: function(value, validator, $field) { var messages = []; var messagesEN = []; var errorOccured = false; if ($field.attr('regexCheckDisabled') === 'true') { return true; } if (!value.trim().match(new RegExp('^[. \\u3000\'\\-a-zA-Z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02B8\\u0370-\\u03FF\\u1F00-\\u1FFF\\u0400-\\u052F\\u1C80-\\u1C8F\\u2DE0-\\u2DFF\\uA640-\\uA69F\\u4E00-\\u9FFF\\u3400-\\u4DBF\\u3040-\\u30FF\\uF900-\\uFAFF\\uFF66-\\uFF9F\\u1100-\\u11FF\\u3130-\\u318F\\uA960-\\uA97F\\uAC00-\\uD7FF\\u3005\\u3006\\u3024\\u3029\\u3031-\\u3035\\u0E00-\\u0E7F]*$', ''))) { messages.push('只容許信件'); messagesEN.push('只容許信件'); 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('最短長度為 2 個字元'); messagesEN.push('最短長度為 2 個字元'); errorOccured |= true; } if (errorOccured) { return { valid: false, message: messages.join('<br/>'), message_en: messagesEN } } else { return true; } } }, notEmpty: { message: '請輸入您的姓氏。', message_en: '請輸入您的姓氏。' }, stringLength: { message: '您已超過此欄位最長的 35 個字元長度。', message_en: 'You have exceeded the maximum length of 35 characters for this field', max: 35 }, } }, 'values[contactEmailFormDefinition_phone]': { trigger: 'blur', validators: { callback: { callback: function(value, validator, $field) { var messages = []; var messagesEN = []; var errorOccured = false; if ($field.attr('regexCheckDisabled') === 'true') { return true; } if (!value.trim().match(new RegExp('^[\\\\+]{0,1}[0-9\\\\(\\\\)\\- \\\\.]*$', ''))) { messages.push('請輸入您的電話號碼。'); messagesEN.push('請輸入您的電話號碼。'); errorOccured |= true; } if (errorOccured) { return { valid: false, message: messages.join('<br/>'), message_en: messagesEN } } else { return true; } } }, stringLength: { message: '您已超過此欄位最長的 20 個字元長度。', message_en: 'You have exceeded the maximum length of 20 characters for this field', max: 20 }, callbackPhone: { alias: 'callback', message: '請輸入您的電話號碼', message_en: '請輸入您的電話號碼', 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: '請輸入您的電郵地址。', message_en: '請輸入您的電郵地址。' }, notEmpty: { message: '請輸入您的電郵地址。', message_en: '請輸入您的電郵地址。' }, stringLength: { message: '此欄位的字母數必需介於 0 和 70', message_en: 'The number of characters for this field must be between 0 and 70', min: 0 , max: 70 }, } }, 'values[contactEmailFormDefinition_country]': { trigger: 'change', validators: { notEmpty: { message: '請輸入您的國家。', message_en: '請輸入您的國家。' } } }, 'values[contactEmailFormDefinition_swaClubMember]': { trigger: 'change', validators: { } }, 'values[contactEmailFormDefinition_scsMember]': { trigger: 'change', validators: { } }, 'values[contactEmailFormDefinition_scsMemberNumber]': { trigger: 'blur', validators: { notEmpty: { message: '請輸入 SCS 會員編號', message_en: '請輸入 SCS 會員編號' }, stringLength: { message: '此欄位的字母數必需介於 0 和 11', message_en: 'The number of characters for this field must be between 0 and 11', min: 0 , max: 11 }, } }, 'values[contactEmailFormDefinition_message]': { trigger: 'blur', validators: { notEmpty: { message: '請輸入訊息', message_en: '請輸入訊息' }, stringLength: { message: '此欄位的字母數必需介於 0 和 1000', message_en: 'The number of characters for this field must be between 0 and 1000', min: 0 , max: 1000 }, } }, 'values[contactEmailFormDefinition_contactOrderNo]': { trigger: 'blur', validators: { callback: { callback: function(value, validator, $field) { var messages = []; var messagesEN = []; var errorOccured = false; if ($field.attr('regexCheckDisabled') === 'true') { return true; } if (!value.trim().match(new RegExp('^([a-zA-Z0-9]{15})$|^$', ''))) { messages.push('Please enter a valid order number (15 digits)'); messagesEN.push('Please enter a valid order number (15 digits)'); errorOccured |= true; } if (errorOccured) { return { valid: false, message: messages.join('<br/>'), message_en: messagesEN } } else { return true; } } }, stringLength: { message: '此欄位的字母數必需介於 0 和 40', message_en: 'The number of characters for this field must be between 0 and 40', min: 0 , max: 40 }, } }, 'values[contactEmailFormDefinition_contactRepairNo]': { trigger: 'blur', validators: { stringLength: { message: '此欄位的字母數必需介於 0 和 40', message_en: 'The number of characters for this field must be between 0 and 40', min: 0 , max: 40 }, } }, 'values[contactEmailFormDefinition_contactTopic]': { trigger: 'change', validators: { notEmpty: { message: '請選擇您的主題/題目', message_en: '請選擇您的主題/題目' } } }, 'values[contactEmailFormDefinition_contactSubject]': { trigger: 'change', validators: { notEmpty: { message: '請選擇您的主題/題目', message_en: '請選擇您的主題/題目' } } }, 'values[contactEmailFormDefinition_contactSubjectTxt]': { trigger: 'blur', validators: { notEmpty: { message: '請輸入您的主旨', message_en: '請輸入您的主旨' }, stringLength: { message: '此欄位的字母數必需介於 0 和 40', message_en: 'The number of characters for this field must be between 0 and 40', min: 0 , max: 40 }, } } } } ) .on('success.field.fv', function() { /* note: we need to check if there is an error in the form, as the plugin does a validation on field level. Validating the whole form on blur of a field is no option, as the customer does not want to see error messages on all fields when entering one field. In case of an error on at least one field we disable the submit button manually */ var $form = $(this).closest('form'); if ($form.find('.form-group.has-error').length > 0) { var $button = $form.find('.js-button'); if (!$button.hasClass('disabled')) { $button.addClass('disabled'); } } }) .on('err.field.fv', function(e, data) { /* * On error field validation, enable submit button. * Source: https://old.formvalidation.io/examples/enabling-submit-button/ */ data.fv.disableSubmitButtons(false); $(data.element).attr('aria-invalid', 'true'); // Get error messages var messages = data.fv.getMessages(data.element); // ✅ Announce error to screen readers if ($(data.element).closest('.js-advent-calendar-container').length > 0 && messages.length > 0 && window.ACC && window.ACC.adventcalendar && typeof ACC.adventcalendar.adventcalendarUpdateErrorSpanAttributes === 'function') { const selectedField = data.element.attr('id'); ACC.adventcalendar.adventcalendarUpdateErrorSpanAttributes(selectedField, true); ACC.adventcalendar.announceToScreenReader('Error: ' + messages[0]); } if(data.element.closest('.form-combo-molecule').length){ /* Get the messages of field */ var messages = data.fv.getMessages(data.element); /* Get the error message content of the field */ var errorContent = data.element.closest('.form-combo-molecule').find('.errors'); /* Get the hidden error message of the field */ var errorField = errorContent.find('.swa-form-input__error-message[data-field="' + data.field + '"][style="display: none;"]'); /* Loop over the messages */ for (var i in messages) { if (errorField[1] == undefined) { var newErrorContainer = document.createElement("small"); $(newErrorContainer).attr("class", "swa-form-input__error-message swa-headline-sans--supertiny"); $(newErrorContainer).attr("data-field", data.field); $(newErrorContainer).attr("data-fv-validator", "callback"); $(newErrorContainer).attr("data-fv-for", $(data.element[0]).attr("name") ); $(newErrorContainer).attr("data-fv-result", "INVALID"); $(newErrorContainer).attr("data-tracked", "true"); $(newErrorContainer).html(messages[i]); if (errorContent.text().includes(messages[i])) { $(newErrorContainer).hide(); } errorContent.append(newErrorContainer); } } } }) .on('success.field.fv', function(e, data) { /* * On success field validation, enable submit button. * Source: https://old.formvalidation.io/examples/enabling-submit-button/ */ if ($(data.element).closest('.js-advent-calendar-container').length > 0 && window.ACC && window.ACC.adventcalendar && typeof ACC.adventcalendar.adventcalendarUpdateErrorSpanAttributes === 'function') { const selectedField = data.element.attr('id'); ACC.adventcalendar.adventcalendarUpdateErrorSpanAttributes(selectedField, false); } data.fv.disableSubmitButtons(false); // ✅ Remove aria-invalid on field $(data.element).attr('aria-invalid', 'false'); /* Remove the field messages */ $errorContent = data.element.closest('.form-combo-molecule').find('.errors'); $errorContent.find('.swa-form-input__error-message[data-field="' + data.field + '"]').remove(); $errorContent.find('.swa-form-input__error-message[data-fv-result="INVALID"]').removeAttr("style"); }) .on('success.form.fv', function() { var formId = 'contactEmail'; if (!formId || formId === 'cfRequest' || formId === 'cfResponse') { formId = 'contactEmailFormDefinition'; } ACC.tracking.pushFormSubmit(formId); }); var replaceDatePatternWithValue = function(mandatory, fieldConfigCode, fieldConfigPattern) { var date = fieldConfigPattern.toUpperCase(); var year = $("#" + fieldConfigCode + "_year").val(); var month = $("#" + fieldConfigCode + "_month").val(); var day = $("#" + fieldConfigCode + "_day").val(); date = date.replace(/[Y]+/, year); date = date.replace(/[M]+/, month); date = date.replace(/[D]+/, day); var hiddenDateField = $('.js-' + fieldConfigCode + '_hidden'); if (mandatory) { hiddenDateField.val(date); } else { hiddenDateField.val(date == "" ? "" : date); } }; var triggerFormValidation = function(fieldId, mandatory, fieldCode, dateFormat) { replaceDatePatternWithValue(mandatory, fieldCode, dateFormat); $('.js-fieldCode').formValidation('revalidateField', 'values[fieldCode_'+ fieldId + ']'); }; var removeDateMoleculeError = function(molecule) { if(molecule.hasClass('has-error')){ molecule.removeClass('has-error'); molecule.find('.help-block').find('span').remove(); } };
電話號碼

電話號碼

預估等候時間: 2- 5分