плагин проверки bassistance - несоответствие зависимостей - PullRequest
6 голосов
/ 20 января 2011

Я искал переполнение стека и не могу найти ответ на свой вопрос.

Я использую плагин проверки bassistance jquery , и он работает хорошо, за исключением одного конкретного раздела, пользовательские методы.

Методы работают, просто вызов $ ('selector'). valid () говорит мне, что элемент недействителен, хотя он должен быть действительным.

Это связано с тем, что this.optional (element) возвращает «несоответствие зависимостей».

Мой вопрос:

Что означает несоответствие зависимостей при проверке необязательных элементов?

Означает ли зависимость то, что она необязательна, но имеет другие зависимости?

Так должен ли мой пользовательский метод проверять необязательное поле для "несоответствия зависимостей" ??

Я неясно, чтопредполагается возвращение и почему.

должен ли мой пользовательский метод также возвращать несоответствие зависимостей?или я должен иметь дело с этим ??

Это мой собственный метод:

$.validator.addMethod(
        "ukphonenumber",
        function (value, element, validate) {

            if (validate) {
                var regexp = "\\s*\\(?((\\+0?44)?\\)?[ \\-]?(\\(0\\))|0)((20[7,8]{1}\\)?[ \-]?[1-9]{1}[0-9]{2}[ \\-]?[0-9]{4})|([1-8]{1}[0-9]{3}\\)?[ \\-]?[1-9]{1}[0-9]{2}[ \\-]?[0-9]{3}))\\s*";
                var re = new RegExp(regexp);
                return this.optional(element) || re.test(value);
            }
            else {
                return true;
            }
        },
        "Please check your input."
    );

И это добавление правила к моему входу:

$("#<%=txtTelephoneNumber.ID %>").rules("add", {
            required: false,
            ukphonenumber: true,
            messages: {
                required: "Please enter your telephone number",
                ukphonenumber: "Your telephone number is invalid"
            }
        });

Ответы [ 2 ]

1 голос
/ 26 января 2011

Я также написал разработчику библиотеки по электронной почте и получил ответ: «Это решило проблему».

есть ли причина использовать required: false вместо обязательного: true? Если поле не является обязательным, оставьте обязательное правило вместо того, чтобы устанавливать его в false.

Вы также можете попытаться пропустить вызов this.optional (element) в вашем пользовательском методе.

С уважением Йорн

0 голосов
/ 04 февраля 2011

это работает:

return (this.optional(element) != false) || re.test(value);

Несоответствие зависимостей с плагином Jquery Validate

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