Настройка на друпал jquery.validate.js

Главные вкладки

Аватар пользователя Northruler Northruler 6 декабря 2008 в 14:38

Добрый день.
Решил настроить на сайте проверку формы на стороне клиента, чтоб данные не уходили на сервер не провереными. Для этого взял плагин к jquery - jquery.validate.js (http://www.jstoolbox.com/2008/03/19/proverka-dannyx-form-jquery-validati...)
Прикрутил его к своей форме, но он работает тоько лишь в том случае когда я удалил из друпала родной файл textarea.js, отвечающий за ресайз текстовых полей. Согласен что это возмутительно и ничего из ядра удалять нельзя. А как быть? Может кто нибудь поделится своими мыслями?

Комментарии

Аватар пользователя zhylik zhylik 7 декабря 2008 в 12:47

Про пятый друпал не знаю... было дело к 6-у прикручивал. Дело скорей всего в том, что в 5 версии jquery всего 19-килобайтный (в 6-ке 31кб, т.е. полный).

Вродебы где-то ходила обновленная версия jquery для пятерки -- ее можно постараться найти и прикрутить. Только обязательно сделай бэкап оригинального jquery.js и хорошо полазь по сайту (филдсеты поразворачивай по несколько раз и т.п.).

А в 6-ке проблем не было. Подключаешь jquery.validate.js (к примеру из модуля), в код нужной странички выводишь правила и все.

По поводу глюков. У меня все время глючило правило "maxlength" (length с маленькой буквы!) для элементов типа textarea -- и изза этого возникали непонятные ошибки, причем не только на текстареях. Решилось модификацией этого правила в тексте jquery.validate.js:

Было:

maxlength:
  function(value,element,param){
    if ($.browser.opera) {
      if (element.nodeName.toLowerCase() == 'textarea') {
        return 1;
      };
    }
    return this.optional(element)||this.getLength(value,element)<=param;
  },

Стало:

maxlength:
  function(value,element,param){
    return this.optional(element)||this.getLength(value,element)<=param;
  },

Вроде как помогло... но давненько это было... летом вроде...

Аватар пользователя Northruler Northruler 9 декабря 2008 в 23:19

Да действительно проблема была в старой версии jquery. Сейчас новая проблема - не работает проверка на одной из страниц в опере и 6ие. фф все страницы ок. может кто что знает?