tagilnext
Total posts: 116
12 Dec 2014 08:19

Можно ли реализовать?

Нужно текстовое поле, вернее два в одном текстовом поле. Тоесть, Поле одно для типа контента, но при вводе инфо их два.

Пример:

Этаж/Этажность 2 значения, а выводится как одно поле. 2/9

Ага, такая возможность есть в настройках текстового поля. Маска ввода, свой шаблон.

Создал шаблон # / #

Возникли сложности, этаж может быть 10 в 16 этажном доме. Маска ## / ## не подходит, потому что обьяснить пользователю что этаж надо писать из 2 цифр это сложно.

01 / 05

Как быть?

Last Modified: 25 Dec 2014


Konstantin
Total posts: 1,113
12 Dec 2014 13:09

Да это не просто. А что если сделать два поля в виде селекта где будут уже все возможные значения, что избавит от ошибок ввода пользователем.


tagilnext
Total posts: 116
12 Dec 2014 17:44

Все - готово, просто создал дополнительное поле - "Несколько текстовых полей."

Проблема решена, тема закрыта.


tagilnext
Total posts: 116
14 Dec 2014 10:50

Есть маленький ньюанс.

Например:

поле адрес (несколько текстовых полей) улица , дом, квартира

Поле в настройках - обязательное для заполнения!

У меня в настройках самого поля есть возможность указать какое текстовое поле обязательное для заполнения. Сделано для того, чтобы не все поля были обязательными. Допустим улица и дом - обязательные, а скажем указывать ли квартиру это дело пользователя.

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


Sergey
Total posts: 13,748
15 Dec 2014 02:52

Тут есть небольшая проблема. У вас как я понял свое собственное поле. Что бы сделать проверку значения в другого поля, нужно знать его айди. Для этого можно сздать параметер в поле например зависимое поле. Тоесть если она есть то и это поле обязательно. В списке выбираем это поле. И потом используем его айди что бы создать селектор в jQuery.

Как создать параметер выбора поля, можно посмотреть в настройках шаблона списка полей.


tagilnext
Total posts: 116
23 Dec 2014 17:50

Сергей смотри, у меня поле (несколько текстовых полей) Адрес = улица, дом

В настройках поля (общие настройки) не стоит обязательное. В моих настройках Улица обязательное, дом нет.

Идем дальше. Для того чтобы сформировать обибку нужно сделать 3 действия в методе onJSValidate:

isValid = false; errorText.push('Please enter field value'); hfid.push({$this->id})

Проблема вот в чем!

hfid.push({$this->id}) здесь указывается id поля Адрес. Соответственно если например не заполнено поле улица, то с текстом ошибки проблем нет, но подсвечиваются сразу все поля, хотя они не все обязательные. Как сделать так чтобы подсвечивалось только обязательное поле?

hfid.push({$this->id}) сюда забивать не id поля Адрес а id поля улица?


tagilnext
Total posts: 116
23 Dec 2014 18:22

Где отрабатывает метод который подкрашивает поля в красный?


Konstantin
Total posts: 1,113
24 Dec 2014 04:01

tagilnext Где отрабатывает метод который подкрашивает поля в красный?

Это делает сам бутсрап, если у лемента есть класс required.


Sergey
Total posts: 13,748
25 Dec 2014 14:31

tagilnext Где отрабатывает метод который подкрашивает поля в красный?

Эторабота яваскрипта. Класс датеся контенерам полей с ошибкой. Это происходит в файле views/form/tmpl/default.php. Именно там создается этот скрипт. Но его части туда поподают из полей метода onJsValidate()

Powered by Cobalt