PАЗДЕЛ ДЛЯ УЧАСТНИКОВ
SWAROVSKI KRİSTAL BİRLİĞİ
ÜYE GİRİŞİ
ÇEVRİM İÇİ HESAP OLUŞTURUN
Lütfen hesabınızı kaydetmek için aşağıya Crystal Society üyelik numaranızı ve geçerlilik tarihini girin.
Üyelik No. *
-
Üyelik no. *
Kartın Geçerlilik Süresi *
Kartın Geçerlilik Süresi *
E-mail address *
Set a password *
Min. 7 karakter / özel karakter kullanmayın
$(this).closest('#tr-registerWithMembershipNumberAndDateFormDefinitionWrapper').find('.js-tr-registerWithMembershipNumberAndDateFormDefinition')
.formValidation(
{
autoFocus: false,
framework: 'bootstrap',
icon: {
valid: null,
invalid: null,
validating: null
},
fields: {
'values[registerWithMembershipNumberAndDateFormDefinition_membershipNumber1]': {
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-9]+$', ''))) {
messages.push('Lütfen bir rakamsal değer girin');
messagesEN.push('Please enter a numeric value');
errorOccured |= true;
}
if (errorOccured) {
return {
valid: false,
message: messages.join('<br/>'),
message_en: messagesEN
}
} else {
return true;
}
}
},
notEmpty: {
message: 'Lütfen bir üyelik numarası girin',
message_en: 'Please enter a membership no.'
},
stringLength: {
message: 'Bu alandaki karakter sayısı 3 ve 3 arasında olmalıdır',
message_en: 'The number of characters for this field must be between 3 and 3',
min: 3
,
max: 3
},
}
},
'values[registerWithMembershipNumberAndDateFormDefinition_membershipNumber2]': {
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-9]+$', ''))) {
messages.push('Lütfen bir rakamsal değer girin');
messagesEN.push('Please enter a numeric value');
errorOccured |= true;
}
if (errorOccured) {
return {
valid: false,
message: messages.join('<br/>'),
message_en: messagesEN
}
} else {
return true;
}
}
},
notEmpty: {
message: 'Lütfen bir üyelik numarası girin',
message_en: 'Please enter a membership no.'
},
stringLength: {
message: 'Bu alandaki karakter sayısı 7 ve 7 arasında olmalıdır',
message_en: 'The number of characters for this field must be between 7 and 7',
min: 7
,
max: 7
},
}
},
'values[registerWithMembershipNumberAndDateFormDefinition_validFromMonth]': {
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-9]+$', ''))) {
messages.push('Lütfen geçerli bir ay girin');
messagesEN.push('Please enter a valid month');
errorOccured |= true;
}
if (errorOccured) {
return {
valid: false,
message: messages.join('<br/>'),
message_en: messagesEN
}
} else {
return true;
}
}
},
notEmpty: {
message: 'Lütfen geçerli bir ay girin',
message_en: 'Please enter a valid month'
},
stringLength: {
message: 'Bu alandaki karakter sayısı 2 ve 2 arasında olmalıdır',
message_en: 'The number of characters for this field must be between 2 and 2',
min: 2
,
max: 2
},
}
},
'values[registerWithMembershipNumberAndDateFormDefinition_validFromYear]': {
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-9]+$', ''))) {
messages.push('Lütfen geçerli bir yıl girin');
messagesEN.push('Please enter a valid year');
errorOccured |= true;
}
if (errorOccured) {
return {
valid: false,
message: messages.join('<br/>'),
message_en: messagesEN
}
} else {
return true;
}
}
},
notEmpty: {
message: 'Lütfen geçerli bir yıl girin',
message_en: 'Please enter a valid year'
},
stringLength: {
message: 'Bu alandaki karakter sayısı 4 ve 4 arasında olmalıdır',
message_en: 'The number of characters for this field must be between 4 and 4',
min: 4
,
max: 4
},
}
},
'values[registerWithMembershipNumberAndDateFormDefinition_email]': {
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.!#$%&\'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$', ''))) {
messages.push('Please enter a valid email address.');
messagesEN.push('Please enter a valid email address.');
errorOccured |= true;
}
if (errorOccured) {
return {
valid: false,
message: messages.join('<br/>'),
message_en: messagesEN
}
} else {
return true;
}
}
},
notEmpty: {
message: 'Please enter an email address.',
message_en: 'Please enter an email address.'
},
stringLength: {
message: 'Bu alandaki karakter sayısı 1 ve 70 arasında olmalıdır',
message_en: 'The number of characters for this field must be between 1 and 70',
min: 1
,
max: 70
},
}
},
'values[registerWithMembershipNumberAndDateFormDefinition_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.trim().match(new RegExp('(^$|^(?=.*[0-9])(?=.*[A-Z]).{7,}$)', ''))) {
messages.push('The password must be at least 7 characters long and contain a number and a capital letter.');
messagesEN.push('The password must be at least 7 characters long and contain a number and a capital letter.');
errorOccured |= true;
}
if (errorOccured) {
return {
valid: false,
message: messages.join('<br/>'),
message_en: messagesEN
}
} else {
return true;
}
}
},
notEmpty: {
message: 'Please set a password.',
message_en: 'Please set a password.'
},
}
}
}
}
)
.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) {
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('small[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", "help-block");
$(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) {
/* Remove the field messages */
$errorContent = data.element.closest('.form-combo-molecule').find('.errors');
$errorContent.find('small[data-field="' + data.field + '"]').remove();
$errorContent.find('small[data-fv-result="INVALID"]').removeAttr("style");
})
.on('success.form.fv', function() {
var formId = 'registerWithMembershipNumberAndDate';
if (!formId || formId === 'cfRequest' || formId === 'cfResponse') {
formId = 'registerWithMembershipNumberAndDateFormDefinition';
}
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();
}
};
Üye Alanında neler var?
SCS'ye Üyelik
Özel teklifler, ürünlerin ön gösterimleri, kristal ödüller, duyurular, üye portreleri ve öne çıkan yayınlar! Tüm bunlar ve daha fazlası SCS üyelerinin ilgi alanlarına göre özel olarak hazırlandı.
Tasarımcı
Swarovski tasarımcılarının her birinin çalışma felsefeleri ve yöntemleri hakkında öğrenmek istediklerinizi bulabilirsiniz. Ayrı tasarım listelerini ve kişisel röportajlarını okuyup, bilgisayarınıza kaydedebilirsiniz.
Hizmetler ve yüklemeler
Swarovski kristallerinin sergilenmesi ve bakımı için ipuçları sunan videolar, Silver Crystal ve SCS ürün listeleri, düzenli olarak güncellenmiş üretimi sona eren Silver Crystal ürün listeleri, seyahat belgeleri ve myScreensaver'a erişim.
ARŞİV
Geçmiş günlere ait ilginizi çekebilecek bir dizi popüler ve nitelikli ürünü görmek için SCS Arşivimizi keşfe çıkın.