Contacto

1

Tema

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

Seleccione el Tema/Asunto *
Encomendas online
Swarovski Club
entrega
Troca
Garantia
Reparação
Informação sobre produtos
Promoções
Pagamento
Subscrição SCS
Problema no Website
Privacidade de Dados
Outro
$(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: 'Seleccione el Tema\/Asunto', message_en: 'Seleccione el Tema\/Asunto' } } } } } ) .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

Seleccione el Tema/Asunto *
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: 'Seleccione el Tema\/Asunto', message_en: 'Seleccione el Tema\/Asunto' } } } } } ) .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(); } };
Asunto *
$(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: 'Escribe el asunto', message_en: 'Escribe el asunto' }, stringLength: { message: 'Este campo debe tener entre 0 y 40 caracteres', 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":"Sabías que:","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

Correo electrónico

Tiempo de espera estimado: 1- 3 días laborables

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

Nombre *
Apellido *
Teléfono
Correo electrónico *
País *
不丹
中國大陸
中非共和國
丹麥
亞塞拜然
亞美尼亞
以色列
伊拉克
伊朗
保加利亞
克羅埃西亞
冰島
列支敦斯登
利比亞阿拉伯群眾國
剛果
剛果民主共和國
加彭
加拿大
匈牙利
北馬利安納群島
千里達及托巴哥
南喬治亞及南三明治群島
南極洲
南非
卡達
印尼
印度
厄利垂亞
厄瓜多
古巴
古拉索
可可斯(基林)群島
台灣地區
史瓦濟蘭
吉布地
吉爾吉斯
吉里巴斯
吐瓦魯
哈薩克
哥倫比亞
哥斯大黎加
喀麥隆
喬治亞
土克凱可群島
土庫曼
土耳其
坦尚尼亞
埃及
塔吉克
塞內加爾
塞席爾
塞爾維亞
墨西哥
多哥
多明尼加共和國
多米尼克
大韓民國
奈及利亞
奧地利
奧蘭群島
委內瑞拉
孟加拉
安吉拉
安哥拉
安地卡及巴布達
安道爾
密克羅尼西亞聯邦
寮人民民主共和國
尚比亞
尼加拉瓜
尼日
尼泊爾
巴勒斯坦地區
巴哈馬
巴基斯坦
巴布亞紐幾內亞
巴拉圭
巴拿馬
巴林
巴西
巴貝多
布吉納法索
希臘
帛琉
幾內亞
幾內亞比索
庫克群島
德國
愛沙尼亞
愛爾蘭
所羅門群島
托克勞
拉脫維亞
挪威
捷克共和國
摩洛哥
摩爾多瓦
摩納哥
教廷(梵蒂岡城國)
斐濟
斯洛伐克
斯洛維尼亞
斯瓦巴及尖棉
斯里蘭卡
新加坡
新喀里多尼亞
日本
智利
曼島
朝鮮民主主義人民共和國
東加
東帝汶
查德
柬埔寨
格瑞那達
格陵蘭
模里西斯
比利時
汶萊和平之國
沙烏地阿拉伯
法國
法屬南部屬地
法屬圭亞那
法屬波里尼西亞
法屬聖馬丁
法羅群島
波士尼亞與赫塞哥維納
波多黎各
波奈、聖佑達修斯及荷屬沙巴
波札那
波維特島
波蘭
泰國
洪都拉斯
海地
澤西島
澳洲
澳門特別行政區
烏克蘭
烏干達
烏拉圭
烏茲別克
牙買加
獅子山
玻利維亞
瑞典
瑞士
瓜地洛普
瓜地馬拉
瓦利斯群島和富圖那群島
甘比亞
留尼旺
白俄羅斯
百慕達
皮特凱恩
盧安達
盧森堡
直布羅陀
福克蘭群島
科威特
秘魯
突尼西亞
立陶宛
約旦
納米比亞
紐埃
紐西蘭
索馬利亞
維德角島
緬甸
羅馬尼亞
美國
美國邊疆群島
美屬維京群島
美屬薩摩亞
義大利
耿西島
聖克里斯多福及尼維斯
聖多美普林西比
聖巴瑟米
聖文森及格瑞那丁
聖皮埃與密克隆群島
聖誕島
聖赫勒拿、亞森欣、特里斯坦達庫尼亞群島
聖露西亞
聖馬利諾
肯亞
芬蘭
英國
英屬印度洋領地
英屬維京群島
茅利塔尼亞
荷屬聖馬丁
荷蘭
莫三比克
菲律賓
萬那杜
葉門
葛摩
葡萄牙
蒙古
蒙哲臘
蒲隆地
蓋亞那
薩摩亞
薩爾瓦多共和國
蘇丹
蘇利南
衣索比亞
西撒哈拉
西班牙
諾福客島
諾魯
象牙海岸
貝南
貝里斯
賴比瑞亞
賴索托
賽普勒斯
赤道幾內亞
赫德島與麥當勞群島
越南
辛巴威
迦納
開曼群島
關島
阿富汗
阿拉伯敘利亞共和國
阿拉伯聯合大公國
阿曼
阿根廷
阿爾及利亞
阿爾巴尼亞
阿魯巴
香港特別行政區
馬丁尼克
馬來西亞
馬其頓
馬利
馬拉威
馬爾他
馬爾地夫
馬約特島
馬紹爾群島
馬達加斯加
黎巴嫩
黑山
Número de pedido
Número de reparación
Asunto *
¿Participa del programa de fidelidad Swarovski Club?
¿Es usted socio/a de Swarovski Crystal Society (SCS)?
Número de suscripción *
1000 caracteres restantes
Seleccione el Tema/Asunto *
線上訂單
Swarovski Club
送貨
換貨
保固
保養
產品資訊
促銷
付款
SCS 會費
網站問題
資料隱私
其他
Seleccione el Tema/Asunto *
我訂單的追蹤連結是什麼?
我訂單中的某件商品到達時已損壞
我訂單中的某件商品丟失
能否更改我的送貨地址?
我如何才能把訂購產品發往另一個國家?
其他
我的貨品能否進行維修?
我的維修狀況如何?
維修費用是多少?
為什麼我必須到門店去維修產品?
其他
能否告知產品尺寸?
這款產品哪裡有售?
有哪些顏色可供選擇?
如何選購 Swarovski Created Diamonds 客製化產品?
其他
我的郵政位址不被認可為有效位址
我無法完成結帳流程
能否重設我的帳戶密碼?
無法登入我的帳戶
其他
其他
資料當事人查閱請求
刪除權(「被遺忘權」)
投訴
我如何更新會員資格?
我如何才能成為SCS會員?
我的會員禮包何時能到?
其他
我如何取消訂閱Swarovski Club的通訊?
為何我取消訂閱通訊後,仍然收到Swarovski的電子郵件?
我的Swarovski Club優惠券無法使用
我的Swarovski Club折扣券可否延期?
我的Swarovski Club折扣券可否用於購買特價產品?
我如何用生日禮券兌換產品?
其他
我的產品是否在保固範圍內?
你們的保固政策是什麼?
其他
我可否在網上訂單中更換產品?
我可否在門店更換網上購買的產品?
我可否更換在其他國家門店購買的產品?
其他
我的電子禮品卡為何在網上不被接受?
我能否使用1張以上的電子禮品卡付款?
我如何用電子禮品卡為網上購買付款?
我的付款為何被拒?
我的付款為何被退回?
其他
能否提供當前促銷活動的資訊?
您可否延長促銷期?
為什麼我購買的產品不適用於促銷活動?
其他
能否重新發送我的訂單確認資訊?
我的線上訂購狀態?
我能否取消整份線上訂單?
我能否取消部分線上訂單?
能否更改我的帳單地址?
我如何退還線上訂購的貨品?
你們的網上退貨政策是什麼?
我的網上退款狀態如何?
其他

Porfavor tenga en cuenta que al hacer clic en el botón “Enviar”, usted acepta que Swarovski guardará la conversación y otros datos proporcionados por usted. Para mayor información le suplicamos lea nuestra política de privacidad de datos.

*Campos obligatorios
$(this).closest('#hk-contactEmailFormConfigWrapper').find('.js-hk-contactEmailFormConfig') .formValidation( { autoFocus: false, framework: 'bootstrap', icon: { valid: null, invalid: null, validating: null }, fields: { 'values[contactEmailFormDefinition_title]': { trigger: 'change', validators: { } }, 'values[contactEmailFormDefinition_firstName]': { trigger: 'blur', validators: { callback: { callback: function(value, validator, $field) { var messages = []; var messagesEN = []; var errorOccured = false; if ($field.attr('regexCheckDisabled') === 'true') { return true; } if (!value.trim().match(new RegExp('^[. \\u3000\'\\-a-zA-Z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02B8\\u0370-\\u03FF\\u1F00-\\u1FFF\\u0400-\\u052F\\u1C80-\\u1C8F\\u2DE0-\\u2DFF\\uA640-\\uA69F\\u4E00-\\u9FFF\\u3400-\\u4DBF\\u3040-\\u30FF\\uF900-\\uFAFF\\uFF66-\\uFF9F\\u1100-\\u11FF\\u3130-\\u318F\\uA960-\\uA97F\\uAC00-\\uD7FF\\u3005\\u3006\\u3024\\u3029\\u3031-\\u3035\\u0E00-\\u0E7F]*$', ''))) { messages.push('Only letters are allowed'); messagesEN.push('Only letters are allowed'); errorOccured |= true; } if (!value.trim().match(new RegExp('(?:^$)|(?:^.*[a-zA-Z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02B8\\u0370-\\u03FF\\u1F00-\\u1FFF\\u0400-\\u052F\\u1C80-\\u1C8F\\u2DE0-\\u2DFF\\uA640-\\uA69F]{2}.*$)|(?:^.*[^a-zA-Z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02B8\\u0370-\\u03FF\\u1F00-\\u1FFF\\u0400-\\u052F\\u1C80-\\u1C8F\\u2DE0-\\u2DFF\\uA640-\\uA69F. \\u3000\'\\-].*$)', ''))) { messages.push('La longitud mínima es de 2 caracteres'); messagesEN.push('La longitud mínima es de 2 caracteres'); errorOccured |= true; } if (errorOccured) { return { valid: false, message: messages.join('<br/>'), message_en: messagesEN } } else { return true; } } }, notEmpty: { message: 'Introduzca su nombre.', message_en: 'Introduzca su nombre.' }, stringLength: { message: 'Ha excedido la longitud máxima de 35 caracteres en este campo', message_en: 'You have exceeded the maximum length of 35 characters for this field', max: 35 }, } }, 'values[contactEmailFormDefinition_lastName]': { trigger: 'blur', validators: { callback: { callback: function(value, validator, $field) { var messages = []; var messagesEN = []; var errorOccured = false; if ($field.attr('regexCheckDisabled') === 'true') { return true; } if (!value.trim().match(new RegExp('^[. \\u3000\'\\-a-zA-Z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02B8\\u0370-\\u03FF\\u1F00-\\u1FFF\\u0400-\\u052F\\u1C80-\\u1C8F\\u2DE0-\\u2DFF\\uA640-\\uA69F\\u4E00-\\u9FFF\\u3400-\\u4DBF\\u3040-\\u30FF\\uF900-\\uFAFF\\uFF66-\\uFF9F\\u1100-\\u11FF\\u3130-\\u318F\\uA960-\\uA97F\\uAC00-\\uD7FF\\u3005\\u3006\\u3024\\u3029\\u3031-\\u3035\\u0E00-\\u0E7F]*$', ''))) { messages.push('Only letters are allowed'); messagesEN.push('Only letters are allowed'); errorOccured |= true; } if (!value.trim().match(new RegExp('(?:^$)|(?:^.*[a-zA-Z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02B8\\u0370-\\u03FF\\u1F00-\\u1FFF\\u0400-\\u052F\\u1C80-\\u1C8F\\u2DE0-\\u2DFF\\uA640-\\uA69F]{2}.*$)|(?:^.*[^a-zA-Z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02B8\\u0370-\\u03FF\\u1F00-\\u1FFF\\u0400-\\u052F\\u1C80-\\u1C8F\\u2DE0-\\u2DFF\\uA640-\\uA69F. \\u3000\'\\-].*$)', ''))) { messages.push('La longitud mínima es de 2 caracteres'); messagesEN.push('La longitud mínima es de 2 caracteres'); errorOccured |= true; } if (errorOccured) { return { valid: false, message: messages.join('<br/>'), message_en: messagesEN } } else { return true; } } }, notEmpty: { message: 'Por favor introduzca su apellido.', message_en: 'Por favor introduzca su apellido.' }, stringLength: { message: 'Ha excedido la longitud máxima de 35 caracteres en este campo', 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('Por favor introduzca su número de teléfono. (Solamente números, no se permiten espacios)'); messagesEN.push('Por favor introduzca su número de teléfono. (Solamente números, no se permiten espacios)'); errorOccured |= true; } if (errorOccured) { return { valid: false, message: messages.join('<br/>'), message_en: messagesEN } } else { return true; } } }, stringLength: { message: 'Ha excedido la longitud máxima de 20 caracteres en este campo', message_en: 'You have exceeded the maximum length of 20 characters for this field', max: 20 }, callbackPhone: { alias: 'callback', message: 'Complete el campo teléfono', message_en: 'Complete el campo teléfono', 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: 'Por favor introduzca su correo electrónico.', message_en: 'Por favor introduzca su correo electrónico.' }, notEmpty: { message: 'Por favor introduzca su correo electrónico.', message_en: 'Por favor introduzca su correo electrónico.' }, stringLength: { message: 'Este campo debe tener entre 0 y 70 caracteres', 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: 'Introduzca su país\/región.', message_en: 'Introduzca su país\/región.' } } }, 'values[contactEmailFormDefinition_swaClubMember]': { trigger: 'change', validators: { } }, 'values[contactEmailFormDefinition_scsMember]': { trigger: 'change', validators: { } }, 'values[contactEmailFormDefinition_scsMemberNumber]': { trigger: 'blur', validators: { notEmpty: { message: 'Introduzca su número de suscripción SCS.', message_en: 'Introduzca su número de suscripción SCS.' }, stringLength: { message: 'Este campo debe tener entre 0 y 11 caracteres', 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: 'Introduzca un mensaje', message_en: 'Introduzca un mensaje' }, stringLength: { message: 'Este campo debe tener entre 0 y 1000 caracteres', 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: 'Este campo debe tener entre 0 y 40 caracteres', 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: 'Este campo debe tener entre 0 y 40 caracteres', 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: 'Seleccione el Tema\/Asunto', message_en: 'Seleccione el Tema\/Asunto' } } }, 'values[contactEmailFormDefinition_contactSubject]': { trigger: 'change', validators: { notEmpty: { message: 'Seleccione el Tema\/Asunto', message_en: 'Seleccione el Tema\/Asunto' } } }, 'values[contactEmailFormDefinition_contactSubjectTxt]': { trigger: 'blur', validators: { notEmpty: { message: 'Escribe el asunto', message_en: 'Escribe el asunto' }, stringLength: { message: 'Este campo debe tener entre 0 y 40 caracteres', 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(); } };
Teléfono

Teléfono

Tiempo de espera estimado: 2- 5 Minutos

客戶服務 香港特別行政區

工作時間:周一至周五 10:00 -19:00 (法定節假日休息)

電話:

(852) 2133 1668