Ограничение ввода текстового поля Drupal

#drupal #textfield #character #words #limits

#друпал #текстовое поле #характер #слова #ограничения

Вопрос:

Мой клиент хочет ограничить ввод в текстовое поле 16 словами — я понятия не имею, как этого добиться.

Кроме того, он хочет запретить символам быть частью ввода. Другими словами, разрешите использовать только 16 слов и без специальных символов.

Кто-нибудь может дать мне несколько идей?

Комментарии:

1. используете ли вы drupal из api?

2. @Hira: Нет, у меня сейчас нет никакого решения. Я только что понял, что у меня может быть текстовое поле CCK, ограниченное 16 символами, но, конечно, это должны быть просто слова.

3. существует параметр максимальной длины вы можете установить его равным 16 в текстовом поле cck понятия не имею о специальном символе хотя есть опция списка допустимых значений вы могли бы попробовать это

Ответ №1:

Используйте модуль проверки полей.

Ответ №2:

Это необычный вариант использования, и при быстром поиске я не вижу, что существует модуль, который предоставляет эти конкретные ограничения для поля Drupal 7. Я думаю, вам нужно будет написать пользовательский модуль, который добавляет виджет поля, в котором вы можете устанавливать ограничения на количество слов и разрешенных символов (ну, если сделать это настраиваемым, получится гораздо более полезный модуль, который можно использовать повторно и совместно использовать). Вы могли бы использовать регулярное выражение в своей функции проверки. Javascript / jQuery может использоваться для динамической проверки количества слов, использования разрешенных символов и / или ограничений количества символов для поля.

Если вы не знаете, как написать такой модуль, вы можете описать свои требования на любом из нескольких сайтов, которые существуют для найма фрилансеров, и получить смету на работу … тогда в идеале сделайте модуль «вклад сообщества».

Комментарии:

1. в точности мои мысли! Я не изучал все части, но я надеюсь, что смогу использовать jquery для выполнения регулярных выражений и перехвата процесса сохранения узла, чтобы помешать пользователю сохранить узел, если там будут какие-либо специальные символы. Я надеюсь, что смогу заставить модуль работать и выпустить его — пока не совсем плодовитый разработчик модулей

2. Правильно. Field API предоставляет функцию hook_field_validate(), которую вы будете использовать, чтобы определить, является ли запись «допустимой». Может быть полезно взглянуть на существующие модули (core и contrib) для получения примеров реализации. Модуль Examples for Developers — хорошее место для начала, помимо рассмотрения модулей в основном модуле «Поле». Желаю удачи!

Ответ №3:

Модуль Drupal 7 действительно существует и, похоже, делает то, что вы ищете:

http://drupal.org/project/maxlength