Проверка jQuery this.optional не является функцией - PullRequest
0 голосов
/ 13 мая 2018

Я создал свой собственный метод проверки, который по очереди использует метод minlength, однако я получаю эту ошибку:

this.optional is not a function

Мой код здесь:

jQuery.validator.addMethod("validAccount", function(value, element, params) {
        var res = true;
        if (!isNaN(parseInt(value[0]))) {
            res = false;
        } else if (!$.validator.methods.minlength(value.split(""), element, params)) {
            res = false;
        }
        return res;
    }, "The inserted account isn't valid");

Кто-нибудь может мне помочь? Я хочу понять, где проблема.

Примечание: в методе minlength я использую split, потому что без него я также получаю getLength - не функция.

1 Ответ

0 голосов
/ 14 мая 2018

Цитирование ОП комментарий :

"Поле учетной записи не должно начинаться с числа, такого встроенного метода нет. Поэтому я должен его создать. Кроме того, поле учетной записи должно содержать не менее n символов. Я подумал об использовании существующий метод для этого вместо того, чтобы воссоздать его, но я вижу, что это плохая идея. "

Возможно, вы не знали, что можете применить несколько правил к одному и тому же полю одновременно. Вы можете написать собственное правило, которое говорит, что оно не должно начинаться с цифры, а затем использовать его вместе со стандартным правилом minlength.

$("#idform").validate({
    rules: { 
        account: { 
            validAccount: true, // <- custom rule to make sure does not start with number
            minlength: 4        // <- default rule (at least 4 characters entered)
        } 
    }
});

Вы можете использовать столько стандартных и / или пользовательских правил (методов), сколько вам нужно. Кроме того, проверьте файл additional-methods.js для получения дополнительной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...