Либо проверка jQuery не поддерживает этот массив проверки, либо мне не хватает кода для выполнения этой задачи.
< div class="snippet">
Код: Выделить всё
const users$ = jQuery("form.users");
const btnAddRow = jQuery("button.btn-add-row");
btnAddRow.on('click', function(){
const trs$ = users$.find('table tbody tr');
const len = trs$.length;
let html = `
`;
users$.find('table tbody').append(html);
setTimeout(()=>{ // Executed whenever there is addition of row
setValidationRule();
})
})
var allInputBox = {};
// Executed on default
setValidationRule();
function setValidationRule(){
//looping through all inputs
jQuery("input[name*='user[']").each(function() {
allInputBox[jQuery(this).attr('name')] = {
required: true //add more params if needed.
} //pushing in array
})
}
users$.validate({
rules: {
"username":{
required: true
},
...allInputBox
},
submitHandler:function(form, event){
event.preventDefault();
event.stopPropagation();
console.log("passed");
}
})Код: Выделить всё
Add Row
Submit
После ответа @swati, при динамическом создании строки правила проверки не применяются
Подробнее здесь: https://stackoverflow.com/questions/789 ... t-elements
Мобильная версия