Dynami c входное имя проверки нескольких форм validajs - PullRequest
0 голосов
/ 30 апреля 2020

Я использую 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.- не проверяет расширенные проверки, не показывает пользовательское сообщение

Кто-нибудь хочет мне помочь, укажите мне правильное направление? Пожалуйста!

...