barbitoff programmer`s blog

Здесь я публикую заметки из программерской жизни: грабли, на которые мне случилось наступить, проблемы, для которых было найдено элегантное (или не очень) решение, а также все, с чем мне пришлось столкнуться и чем хотелось бы поделиться =)
PS Если хотите меня поблагодарить - на странице есть 3 места, чтобы это сделать =)

среда, 25 июля 2012 г.

Плагин jquery.validation и элементы формы с одинаковыми именами

Плагин  jquery.validation не умеет работать с элементами с одинаковыми именами. Использование одинаковых имен ведет, во-первых, к тому, что валидируется только первый элемент, ну и, во-вторых, ко всяким глюкам с неверным позиционированием сообщения об ошибке и пр. Всякие костыли (например, http://www.codeboss.in/web-funda/2009/05/27/jquery-validation-for-array-of-input-elements/) работают лишь частично (например, элемент начинает вроде бы валидироваться, но сообщение об ошибке все равно у всех одноименных элементов одно на всех). Поправить эту ситуацию изменением пары строк в исходниках не получится - слишком многое в них завязано на имена элементов. Поэтому остается лишь ходить обходными путями, например, назначать элементам уникальные имена и преобразовывать их при отправке провалидированной формы в обработчике, назначенном параметром "submitHandler" в вызове validate().

1 комментарий:

  1. Здравствуйте.
    Как раз столкнулся с подобной проблемой.
    Есть ли у вас рабочий пример назначения уникальных имен и последующим их преобразованием?
    У меня, мало того, что имена одинаковые ("имя_поля[]" для получения массива в POST), так еще и формируются динамически (каждое поле можно удалить или добавить новое).

    ОтветитьУдалить