nextgis / formbuilder

Data collection forms builder for NextGIS Mobile
http://nextgis.com/nextgis-formbuilder/
GNU General Public License v2.0
12 stars 8 forks source link

Двоеточие в названиях полей #66

Closed drnextgis closed 8 years ago

drnextgis commented 8 years ago

FormBuilder подвязывает к элементам формы теги вида "deviation:parametr", однако приложение делает это поле серым и не даёт ничего ввести, переименование поля в "dev_parametr" исправило ситуацию, но теперь это не совместимо с существующей структурой данных (источник)

MikhanGusev commented 8 years ago

deviation:parametr - это так поле называлось в исходном слое данных? Тогда в FB надо либо ставить ограничение на имена полей слоя, либо принудительно заменять/удалять символ ':', т.к. это конфликт с атрибутами GeoJSON-а.

BishopGIS commented 8 years ago

У нас вот так фильтруется название полей https://github.com/nextgis/android_maplib/blob/master/src/main/java/com/nextgis/maplib/util/LayerUtil.java#L25

simgislab commented 8 years ago

да, в осме поля могут иметь : в названии и это очень часто встречается, name:ru и т.д.

Если есть конфликт, то нужно это как-то экранировать. Хотя это немного грустно, так как выход уже не будет соответствовать 1 в 1.

MikhanGusev commented 8 years ago

Не, зря я так - это не конфликт никакой конечно. В FB можно без проблем создавать поля с именами, содержащими ':', через менеджер полей. Только вот, получается, в мобильном этот символ будет заменён, да?

simgislab commented 8 years ago

@4eRTuk ?

4eRTuk commented 8 years ago

forbiddenChars = {':', '@', '#', '%', '^', '&', '*', '!', '$', '(', ')'};

Да, все вышеперечисленные символы заменяются на _.