Проверка jQuery - перемещение JS во внешний файл и прохождение полей - PullRequest
0 голосов
/ 28 августа 2009

Я пытаюсь очистить некоторые из JavaScript во всех моих представлениях, и одна из вещей, которые я хотел бы сделать, - это переместить мой код проверки jQuery во внешнюю функцию сценария и передать ссылки на поля, которые мне нужно обработать / проверить , Проблема, с которой я сталкиваюсь, связана с форматированием подписи поля правил jQuery Validate:

$("#form").validate({
    rules: {
        txtNoSpam: {
            remote: WebSettings.SpamFilterValidationUrl
        }
    },
    messages: {
        txtNoSpam: {
            remote: "Answer is incorrect."
        }
    },
});

В приведенном выше коде 'txtNoSpam' отображается непосредственно на элемент на моей странице, называемый txtNoSpam, но я бы предпочел передать txtNoSpam в мою функцию инициализации в качестве объекта, а затем сопоставить валидацию с правильным полем, используя имя элемента предоставленного объекта в качестве имени параметра:

function Init(form, field1)
    form.validate({
        rules: {
            field1.attr('name'): {
                remote: WebSettings.SpamFilterValidationUrl
            }
        },
        messages: {
            field1.attr('name'): {
                remote: "Answer is incorrect."
            }
        },
    });
}

Есть ли способ, которым я могу этого достичь?

1 Ответ

1 голос
/ 28 августа 2009

попробуйте создать параметры проверки по шагам, чтобы вы могли использовать []. Смотрите пример ниже:

function my_validate(field_name) {
   var opts = {rules:{},messages:{}};
   opts.rules[field_name] = {remote: WebSettings.SpamFilterValidationUrl};
   opts.messages[field_name] = {remote: "Answer is incorrect."};
   form.validate(opts);
}

UPDATE: Учитывая ваш обновленный вопрос, вот Инициатива:

function Init(form, field1)
   var opts = {rules:{},messages:{}};
   opts.rules[field1.attr('name')] = {remote: WebSettings.SpamFilterValidationUrl};
   opts.messages[field1.attr('name')] = {remote: "Answer is incorrect."};
   form.validate(opts);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...