全场购物 享顺丰快递 免运费
搜索
加入 Swarovski Club
创建账户
Benefit pre-sale
独家发售、预售等优惠
Benefit collection
紧贴最新潮流和新推出的产品系列
Benefit VIP
获邀参加贵宾活动
电子邮件 *
设置密码 *
最少7个字符。包括一个大写字母和一个数字。
通过点击“加入 Club”按钮,我同意加入 Swarovski Club,并确认我已阅读并接受一般条款和条件以及隐私政策

请同意以下条款及条件。

已是 Swarovski Club 会员?请在此登录
$(this).closest('#cn-scRegistrationFormConfigWrapper').find('.js-cn-scRegistrationFormConfig') .formValidation( { autoFocus: false, framework: 'bootstrap', icon: { valid: null, invalid: null, validating: null }, fields: { 'values[sc-longRegistrationFormDefinition_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 和 100 间', message_en: 'The number of characters for this field must be between 0 and 100', min: 0 , max: 100 }, } }, 'values[sc-longRegistrationFormDefinition_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('该密码不符合密码政策,请输入一个 7 个字符长度的密码,且该密码中包含至少一个数字和一个大写字母'); messagesEN.push('该密码不符合密码政策,请输入一个 7 个字符长度的密码,且该密码中包含至少一个数字和一个大写字母'); errorOccured |= true; } if (errorOccured) { return { valid: false, message: messages.join('<br/>'), message_en: messagesEN } } else { return true; } } }, notEmpty: { message: '请输入密码。', message_en: '请输入密码。' }, } }, 'values[sc-longRegistrationFormDefinition_newsletter]': { trigger: 'change', validators: { } }, 'values[sc-longRegistrationFormDefinition_cnTermsAndConditionsGeneral]': { trigger: 'change', validators: { notEmpty: { message: '您不同意我们的隐私政策及跨境传输,我们无法为您提供注册、订购及咨询等服务,但您仍可查询和浏览我们的部分信息。', message_en: '您不同意我们的隐私政策及跨境传输,我们无法为您提供注册、订购及咨询等服务,但您仍可查询和浏览我们的部分信息。' }, } }, 'values[sc-longRegistrationFormDefinition_cnTermsAndConditionsPersonalInfo]': { trigger: 'change', validators: { } } } } ) .on('success.field.fv', function() { /* note: we need to check if there is an error in the form, as the plugin does a validation on field level. Validating the whole form on blur of a field is no option, as the customer does not want to see error messages on all fields when entering one field. In case of an error on at least one field we disable the submit button manually */ var $form = $(this).closest('form'); if ($form.find('.form-group.has-error').length > 0) { var $button = $form.find('.js-button'); if (!$button.hasClass('disabled')) { $button.addClass('disabled'); } } }) .on('err.field.fv', function(e, data) { /* * On error field validation, enable submit button. * Source: https://old.formvalidation.io/examples/enabling-submit-button/ */ data.fv.disableSubmitButtons(false); if(data.element.closest('.form-combo-molecule').length){ /* Get the messages of field */ var messages = data.fv.getMessages(data.element); /* Get the error message content of the field */ var errorContent = data.element.closest('.form-combo-molecule').find('.errors'); /* Get the hidden error message of the field */ var errorField = errorContent.find('.swa-form-input__error-message[data-field="' + data.field + '"][style="display: none;"]'); /* Loop over the messages */ for (var i in messages) { if (errorField[1] == undefined) { var newErrorContainer = document.createElement("small"); $(newErrorContainer).attr("class", "swa-form-input__error-message swa-headline-sans--supertiny"); $(newErrorContainer).attr("data-field", data.field); $(newErrorContainer).attr("data-fv-validator", "callback"); $(newErrorContainer).attr("data-fv-for", $(data.element[0]).attr("name") ); $(newErrorContainer).attr("data-fv-result", "INVALID"); $(newErrorContainer).attr("data-tracked", "true"); $(newErrorContainer).html(messages[i]); if (errorContent.text().includes(messages[i])) { $(newErrorContainer).hide(); } errorContent.append(newErrorContainer); } } } }) .on('success.field.fv', function(e, data) { /* * On success field validation, enable submit button. * Source: https://old.formvalidation.io/examples/enabling-submit-button/ */ data.fv.disableSubmitButtons(false); /* Remove the field messages */ $errorContent = data.element.closest('.form-combo-molecule').find('.errors'); $errorContent.find('.swa-form-input__error-message[data-field="' + data.field + '"]').remove(); $errorContent.find('.swa-form-input__error-message[data-fv-result="INVALID"]').removeAttr("style"); }) .on('success.form.fv', function() { var formId = 'registerNewCustomer'; if (!formId || formId === 'cfRequest' || formId === 'cfResponse') { formId = 'sc-longRegistrationFormDefinition'; } 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(); } };