Используйте переменную имени поля в правилах проверки JQuery - PullRequest
3 голосов
/ 01 октября 2010

Я новичок в jquery. Я мог бы получить правила проверки, работающие в моей форме. Я использую фреймворк Java, и по какой-то причине, когда он конвертируется из .xhtml в .html, перед идентификатором / именем всего компонента пользовательского интерфейса был указан префикс формы, в которой он находится. Я хотел бы повторно использовать эти правила проверки для двух других форм, но из-за проблемы с префиксом мне нужно будет использовать переменную js и передать formId функции. По какой-то причине это вызывает у меня проблему:


НЕ РАБОТАЕТ

var positionTitle = "#myForm:positionTitle";

$("#" + formId).validate({

  rules:{
        positionTitle : {required:true, maxlength:50},
            ...

РАБОЧАЯ

$("#" + formId).validate({

  rules:{
         "#myForm:positionTitle" : {required:true, maxlength:50},
              ...

1 Ответ

5 голосов
/ 01 октября 2010

После того, как вы позвоните .validate() в форме, вы должны сделать это:

$("[name='" + positionTitle + "']").rules("add", {required:true, maxlength:50});

... но вы не можете использовать переменную в качестве имени в таком литерале объекта.

Другим вариантом является создание объекта rules до того, как он будет передан в validate(), но это также немного запутанно, я не могу сказать, что лучше, если исходить из вопроса, но если у вас эти, вы можете пойти по маршруту строительства rules.

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