Проверка jQuery errorPlacement - PullRequest
       0

Проверка jQuery errorPlacement

2 голосов
/ 23 апреля 2010

Это работает:

$("[id$='_zzz']").rules(
    "add",
    {
        required: true,
        minlength: 8,
        messages: {
            required: "...",
            minlength: jQuery.format("...")
        }            
    }
);

Появляется сообщение об ошибке.

Когда я пытаюсь оформить сообщение, это не работает:

$("[id$='_zzz']").rules(
    "add",
    {
        required: true,
        minlength: 8,
        messages: {
            required: "...",
            minlength: jQuery.format("...")
        },
        errorElement: "span",
        errorPlacement: function(error, element) {
            error.insertAfter(element);
            error.css("margin", "0 0 0 5px");
        }             
    }
);

Когда я создаю стиль с помощью функции validate, применяется стиль, который работает:

$('#aspnetForm').validate({
    errorElement: "span",
    errorPlacement: function(error, element) {
        error.insertAfter(element);
        error.css("margin", "0 0 0 5px");
    }
});

Почему я не могу использовать стиль, используя errorplacement в функции добавления правил?

1 Ответ

2 голосов
/ 24 апреля 2010

В первом методе вы передаете свойство / функцию errorPlacement объекта методу правил ... он просто не заботится об этом и не использует его.Для любого объекта, который вы передаете в javascript, он должен проверить это свойство или использовать его каким-либо образом, иначе это просто посторонняя информация.Вы также можете добавить myExtrathing:'ValueHere' к объекту, ничего не сломать ... но также не будут использоваться.

Метод .validate() имеет существующую функцию errorPlacement (который активно используется, это важная часть, ищет его ) в параметрах по умолчанию, а выполняет расширение , чтобы заменить метод по умолчанию на метод, предоставленный вами ..Если вы предоставили один.Такое же поведение справедливо почти для каждого плагина jQuery и любой указанной вами опции, она объединяет опции по умолчанию с теми, которые вы предоставляете / переопределяете.Вы можете увидеть несколько простых примеров такого поведения в руководстве по созданию плагина jQuery .

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