Я использую JQuery Validate для проверки моих форм.
$("#myform").validate({
rules: {
email: {
customemail: true
}
},
messages: {
firstName: $('#' + requestTypeValue + '_' + 'firstName').attr('data-error'),
lastName: $('#' + requestTypeValue + '_' + 'lastName').attr('data-error'),
email: $('#email').attr('data-error')
},
Это работает, прекрасно. но теперь мне нужно внести изменения, чтобы у объекта сообщений могли быть динамические имена полей, основанные на глобальной переменной, поэтому мне нужно сделать что-то вроде этого:
$("#myform").validate({
rules: {
"email": {
customemail: true
}
},
messages: {
"myGlobalVar" + firstName: $('#' + requestTypeValue + '_' + 'firstName').attr('data-error'),
"myGlobalVar" + lastName: $('#' + requestTypeValue + '_' + 'lastName').attr('data-error'),
"myGlobalVar" + email: $('#email').attr('data-error')
},
Я думал, что если я создам объект сообщений вне этого метода, я получу что-то вроде этого, может работать
$("#myform").validate({
rules: {
"email": {
customemail: true
}
},
messages: myMessageObject
},
но я все еще не уверен в синтаксисе для создания динамического объекта таким образом.
Идеи, пожалуйста?
UPDATE:
Чираг Равиндра Ответ выглядел именно так, как мне нужно, поэтому я устал, но это не сработало. Итак, в качестве первого шага я попробовал это, основываясь на ответе Чирага Равиндры:
$("#myform").validate({
rules: {
email: {
customemail: true
}
},
messages: {
Prefix_firstName: $('#' + requestTypeValue + '_' + 'firstName').attr('data-error'),
lastName: $('#' + requestTypeValue + '_' + 'lastName').attr('data-error'),
email: $('#email').attr('data-error'),
jobTitle: $('#' + requestTypeValue + '_' + 'jobTitle').attr('data-error'),
company: $('#' + requestTypeValue + '_' + 'company').attr('data-error'),
phone: $('#' + requestTypeValue + '_' + 'phone').attr('data-error'),
comments: $('#' + requestTypeValue + '_' + 'comments').attr('data-error')
},
Это работает для поля Prefix_firstName, НО это не работает:
var validationMessages = {};
validationMessages = {
Prefix_firstName: $('#' + requestTypeValue + '_' + 'firstName').attr('data-error'),
lastName: $('#' + requestTypeValue + '_' + 'lastName').attr('data-error'),
email: $('#email').attr('data-error'),
jobTitle: $('#' + requestTypeValue + '_' + 'jobTitle').attr('data-error'),
company: $('#' + requestTypeValue + '_' + 'company').attr('data-error'),
phone: $('#' + requestTypeValue + '_' + 'phone').attr('data-error'),
comments: $('#' + requestTypeValue + '_' + 'comments').attr('data-error')
},
$("#myform").validate({
rules: {
email: {
customemail: true
}
},
messages: validationMessages,
Я действительно не понимаю, почему простое перемещение сообщений в объект приводит к его отказу ...