10% reducere la următoarea ta achiziție 

Fii primul care primește informații despre noile colecții, inspirații stilistice, idei de cadouri și acces exclusiv. Abonează-te astăzi la newsletterul Swarovski Club și primești o reducere de 10%* la următoarea achiziție online (numai pentru articolele cu preț întreg, anumite excluderi posibile).

*Se aplică termeni și condiții.

E-mail *
Setați o parolă *
7 caractere min./include o cifră numerică și o literă majusculă
Apăsând butonul „Alăturați-vă clubului” sunt de acord să mă alătur Swarovski Club și confirm că am citit și accept Termenii și condițiile generale. Înțeleg că datele mele vor fi procesate în concordanță cu Politica de confidențialitate a Swarovski.

$(this).closest('#popupRegistrationFormConfigWrapper').find('.js-popupRegistrationFormConfig') .formValidation( { autoFocus: false, framework: 'bootstrap', icon: { valid: null, invalid: null, validating: null }, fields: { 'values[popupRegistrationFormDefinition_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: 'Vă rugăm să introduceți adresa de e-mail.', message_en: 'Vă rugăm să introduceți adresa de e-mail.' }, notEmpty: { message: 'Vă rugăm să introduceți adresa de e-mail.', message_en: 'Vă rugăm să introduceți adresa de e-mail.' }, stringLength: { message: 'Numărul de caractere pentru acest câmp trebuie să fie între 0 și 70', message_en: 'The number of characters for this field must be between 0 and 70', min: 0 , max: 70 }, } }, 'values[popupRegistrationFormDefinition_password]': { 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.match(new RegExp('(^$|^(?=.*[0-9])(?=.*[A-Z]).{7,}$)', ''))) { messages.push('Parola trebuie să aibă cel puțin 7 caractere și să conțină o cifră și o majusculă.'); messagesEN.push('Parola trebuie să aibă cel puțin 7 caractere și să conțină o cifră și o majusculă.'); errorOccured |= true; } if (errorOccured) { return { valid: false, message: messages.join('<br/>'), message_en: messagesEN } } else { return true; } } }, notEmpty: { message: 'Please enter a password.', message_en: 'Please enter a password.' }, stringLength: { message: 'Ați depășit lungimea maximă de 64 caractere pentru acest câmp', message_en: 'You have exceeded the maximum length of 64 characters for this field', max: 64 }, } }, } } ) .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 = 'popupRegistration'; if (!formId || formId === 'cfRequest' || formId === 'cfResponse') { formId = 'popupRegistrationFormDefinition'; } 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(); } };