Я использую validate от jqueryvalidation.org
У меня есть несколько форм, которые создаются с помощью «foreach»
Каждая форма имеет уникальный идентификатор, и каждый вход, выберите, отношение имеют уникальный идентификатор, основанный на уникальной форме ID ..
<form id="_idform<?php echo $formid; ?>" >
<input name="table[<?php echo $formid; ?>][name]" id="inpname<?php echo $formid; ?>">
</form>
скажем, у меня есть от 1 до X количества форм с одинаковой структурой, единственное, что изменяется, это значение $ formid, основанное на требовании ... использование может использовать только 1, а другому может потребоваться 20 ...
Tha работает, что не "работает" - это проверка ...
function validateForm(idForm) {
// Here is where the magic happen
// Some what is working but is not validating 100%
// specially with extended validation...
let _specialName = 'table['+idform+'][name]'; // <-- What!?
$('_idform' + idForm).validate({
debug: true,
submitHandler: function(form){ \
// save data via ajax
},
rules: {
_specialName: {
required: true,
extendedValidation: true
}
},
messages: {
_specialName: {
required: 'Special message',
extendedValidation: 'Your input is not valid'
}
}
});
}
Причина let _specialName = 'table['+idform+'][name]';
в том, что я не может использовать его внутри rules: {}
, выход для этого - что-то вроде table[0][name]
, которое является именем для ввода, проверка js принимает такие имена, но не может обрабатывать динамические c имена.
rules : {
'table[0][name]': {
required: true
} // ok
'table['+idform+'][name]': {
requried: true;
} // No even on my dreams, not ok.
}
Это то, что работает, он выполняет какую-то проверку, но:
1.- он показывает ошибку
2.- не показывает ошибку нестандартного сообщения
3.- не проверяет расширенные проверки, не показывает пользовательское сообщение
Кто-нибудь хочет мне помочь, укажите мне правильное направление? Пожалуйста!