2015-01-15 2 views
0

Как использовать узел объекта как переменную, как в newEndEventDate ниже?Использование узла объекта как переменной

var val = $("form").validate({ 
    rules: { 
     newEventDate: { required: true, regex: /^(19|20)\d\d-?(0[1-9]|1[012])-?(0[1-9]|[12][0-9]|3[01])$/ }, 
     newEndEventDate: { required: true, regex: /^(19|20)\d\d-?(0[1-9]|1[012])-?(0[1-9]|[12][0-9]|3[01])$/, greaterThan: newEventDate },      
     newEventText: { required: true, maxlength: 200 }, 
    }, 
    messages: { 
     ... 
    } 
}).form(); 

Использование newEventDate внутри newEndEventDate дает ошибку 'newEventDate' is undefined. Но если я прокомментирую строку newEndEventDate:, тогда скрипт работает нормально. Это происходит только в IE10 и, возможно, во всех других версиях IE. Хорошо работает в Chrome и Firefox

+0

Покажите нам достаточно соответствующий HTML, чтобы мы могли воспроизвести ошибку. Также покажите, откуда берутся методы 'moreThan' и' regex'. – Sparky

ответ

1
var rules = { 
     newEventDate: { required: true, regex: /^(19|20)\d\d-?(0[1-9]|1[012])-?(0[1-9]|[12][0-9]|3[01])$/ }, 
     newEndEventDate: { required: true, regex: /^(19|20)\d\d-?(0[1-9]|1[012])-?(0[1-9]|[12][0-9]|3[01])$/ },      
     newEventText: { required: true, maxlength: 200 }, 
    }; 
rules.newEndEventDate.greaterThan = rules.newEventDate; 
var val = $("form").validate({ 
    rules: rules, 
    messages: { 
     ... 
    } 
}).form(); 
Смежные вопросы