Как я могу использовать плагин JQuery Validation для проверки уникальных идентификаторов, а не уникальных атрибутов имен? - PullRequest
2 голосов
/ 26 марта 2011

Я работал с Validation в течение нескольких дней и узнал, что основным атрибутом, по которому он проверяется, является атрибут name = "" в теге.Мне нравится плагин отлично и я хотел бы иметь возможность использовать его для своих целей.

Моя проблема связана с наличием неуникальных атрибутов имени в моей форме.Когда Валидация использует атрибут имени для установки правил, и если существует несколько элементов с таким именем, она просто использует первый из набора.Есть некоторые другие вещи, которые он делает с настройками по умолчанию, такие как onblur = true, которые заставят его смотреть на другие элементы в соответствующем наборе, как только вы начнете щелкать по форме.моя форма, и количество элементов формы зависит от массива объектов модели.Линия Rails, которая генерирует мои поля формы:

<%= f.text_field :forwho, :size => 15, :title => "Enter person's name", :id => "referrees_#{j}_forwho" %>  

j - это счетчик, который устанавливает все идентификаторы как уникальные.Я добавил префикс "referrees []" перед этим вызовом.Это делается для создания массива в хэше params, отправляемом контроллеру при отправке.Отрисованный HTML-код из приведенной выше строки:

<input type="text" title="Enter person's name" size="15" name="referrees[][forwho]" id="referrees_0_forwho">  

Обратите внимание на атрибут name.Количество таких полей, которые я получаю, зависит от количества объектов модели, отправляемых в представление из контроллера.

Я пытался использовать метод .rules для плагина Validation, например:

$("#referrees_0_forwho").rules("add", {required: true});

но, похоже, он использует это, чтобы затем зависеть от поля name = "referrees [] [forwho]" для элемента с таким идентификатором, поэтому все еще не работает для меня.

Моя цель состоит в том, чтобы игнорировать атрибуты имени полностью (поскольку они не являются уникальными) и использовать только идентификаторы.Могу ли я сделать это, или есть лучший способ решить мою проблему?

EDIT : По словам автора плагина, Jorn, плагин абсолютно требует, чтобы атрибуты имени были уникальными: Электронная почта Йорна другому человеку с той же проблемой Обнаружено, что в этом вопросе: Использование плагина JQuery Validate для проверки нескольких полей формы с одинаковыми именами

Я думаю, я буду работать над созданием Railsдайте мне уникальные имена или что-то вроде взлома исправления JQuery после загрузки DOM.

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