Конструктор құрылымы Шолу
Визуалды форма редакторы drag-and-drop қағидаты бойынша жұмыс істейді: компоненттерді палитрадан холстқа (кенепке) сүйреп әкелесіз, олардың қасиеттерін реттейсіз, ал платформа дайын форманы өзі генерациялайды.
Жұмыс ортасы
- Сол жақ палитра: компоненттер категориялар бойынша топтастырылған — «Негізгі» және «Орналасу» әрқашан қолжетімді; «Жетілдірілген» және «Деректер» категориялары Жетілдірілген режим қосылғаннан кейін пайда болады. Палитра үстінде компоненттер атауы бойынша тікелей іздеу бар.
- Жұмыс холсті: болашақ форманың интерактивті макеті. Жаңа компонент сүйреу арқылы немесе палитра элементін шеруде қосылады (ол форманың соңынаа түседі).
- Жедел әрекеттер панелі: холсттағы компонентке курсор апарғанда пайда болады.
Компонентке әрекеттер
| Әрекет | Не істейді |
|---|---|
| Параметрлер | Компонент қасиеттері диалогын ашады (қ. Жалпы параметр қойындылары). |
| Көшіру | Компонентті барлық кірістірілген өрістері мен ережелерімен конструктор буферіне орналастырады. |
| Төменге кірістіру | Бұрын көшірілген компонентті ағымдағының астына кірістіреді. |
| Жылжыту | Кірістіру тізбегін ашпай-ақ компонентті басқа позицияға сүйреп әкелуге мүмкіндік береді. |
| Жою | Компонентті схемадан жояды. Кірістірілген өрістер контейнермен бірге жойылады. |
| JSON | Компоненттің JSON-схемасын тікелей өңдеу. Тек Жетілдірілген режимде қолжетімді. |
📌 Конструкторға кірмейтіндер
Электрондық цифрлық қолтаңба талабы (ЭЦП/Ncalayer), геолокация саясаты, бет брендингі және тілдік аудармалар жарияланым деңгейінде — менеджердің «Негізгі», «Дизайн» және «Аудармалар» экрандарында орнатылады.
Бір беттік және көпбеттік форма Режимдер
Режим ажыратқышы конструктор холстінің үстінде орналасқан:
📄 Бір беттік
Барлық сұрақтар бір бетте орналасады. Қысқа сауалнамалар, өтініштер мен 15–20 сұраққа дейінгі сауалнамаларға жарамды.
🗂 Көпбеттік (Wizard)
Форма қадамдарға бөлінеді. Респондент оларды ретімен өтеді, барысын көреді және енгізілген деректерді жоғалтпай артқа қайта алады.
Көпбеттік режиммен жұмыс
- Әрбір бет — холст үстіндегі жеке қойынды. Беттерді «+ Бет» түймесімен қосыңыз.
- Бет тақырыбы респондентке навигацияда көрсетіледі; оны бет қасиеттерінде реттеңіз.
- Беттердің атауын өзгертуге, сүйреп орындарын ауыстыруға және жоюға болады.
- Соңғы бетте форма жіберу түймесі автоматты түрде орналасады.
- Валидация келесі бетке өтер алдында ағымдағы бетті тексереді: респондент міндетті өрістер толтырылмай «әрі кете» алмайды.
⚠️ Режимді ауыстыру
Бір беттік форманы көпбеттік режимге ауыстырғанда барлық бар өрістер бірінші бетке түседі — оларды қадамдар арасына қолмен бөліңіз. Кері ауыстыру барлық өрістерді қайтадан бір бетке жинайды.
Компоненттің жалпы параметр қойындылары Қасиеттер
Параметрлер диалогы компонентке курсор апарғанда түймесімен ашылады. Қойындылар жиыны компонент түріне байланысты, бірақ негізгі құрам бірдей:
| Қойынды | Негізгі параметрлер |
|---|---|
| Көрсетілу | Өріс меткасы (Label), өріс ішіндегі кеңес (Placeholder), өріс астындағы сипаттама, қалқымалы кеңес (Tooltip), префикс және суффикс, метканы жасыру, қосымша CSS-кластар, Tab пернесімен өту. |
| Деректер | Әдепкі мән, жасырын өрістер тазартылғандағы мінез-құлық, мән өзергенде форманы қайта есептеу. |
| Валидация (Тексеру) | Міндетті өріс, минималды/максималды ұзындық, тұрақты өрнек, минималды/максималды мән (сандар мен күндер үшін), қате хабарламасының өз мәтіні. |
| API қасиеттері | Өріс кілті (Property Name) — мәннің жауапқа, вебхукқа және Excel жүктеуіне осы атаумен түсетін аты. Интеграциялар үшін қосымша «Кілт-Мән» метадеректері. |
| Көрсету шарттары | Жауаптарға байланысты компонент көрінулігінің ережелері (қ. Көрсету шарттары). |
| Орналасу | 12-бағанды тордағы өріс ені (мобильді құрылғыларды қосқанда), ығысу (offset), автоматты өлшем. |
💡 Өріс кілті (Property Name)
Мағыналы латын кілттерін қойыңыз (full_name, iin, work_phone): жауаптар осы атаулармен вебхукқа, Excel жүктеуіне және сыртқы API-ге келеді. Кілт меткадан автоматты жасалады, бірақ оны тексеріп, қолмен қайта атаған дұрыс — жарияланым басталғаннан кейін кілтті ауыстыру тарихи деректердің байланыстылығын үзеді.
Өрістердің жалпы қасиеттері Анықтамалық
Бұл параметрлер конструктор өрістерінің көпшілігінде бар. Олар компонент қасиеттері диалогының қойындылары бойынша топтастырылған; жекелеген компоненттердің арнайы параметрлері Компоненттердің егжей-тегжейлі параметрлері бөлімінде сипатталған.
Жетілдірілген белгісі қасиеттің тек Жетілдірілген режим қосылғаннан кейін қолжетімді екенін білдіреді.
«Көрсетілу» қойындысы
| Қасиет | Сипаттама |
|---|---|
| Метка (өріс тақырыбы) | Респондент көретін өріс атауы. |
| Метканың орналасуы | Өріске қатысты метка орны: жоғарыда, солда, оңда, төменде. |
| Label Width / Label Margin | Метка ені және одан кейінгі қашықтық — жол енінің пайызымен (көлденең орналасу үшін). |
| Түсіндірмелі сипаттама | Өріс астындағы мәтін: түсініктеме, формат, толтыру мысалы. |
| Қалқымалы кеңес | Метка жанындағы «?» белгішесінің мәтіні; курсор апарғанда/фокус болғанда көрсетіледі. |
| Пайдаланушылық CSS-класс | Өрісті нүктелік стильдеу үшін қосымша класс. |
| Порядок табуляции (Tab Index) | Tab арқылы өту ретін қайта анықтайды. |
| Компонентті жасыру | Өріс респондентке көрінбейді, бірақ мәні бұрынғыша жіберіледі (техникалық мәндер үшін). |
| Метканы (тақырыпты) жасыру | Өрісті тақырыпсыз көрсету (мысалы, торлардың ішінде). |
| Форма жүктелгенде фокус | Курсор автоматты түрде осы өріске орнатылады. |
| Өшірулі (тек оқуға) | Өріс көрінеді, бірақ өзгертуге қолжетімсіз. |
| Кестелерде көрсету | Мән жауаптардың кестелік көрінісінде шығарылады (сабмишндерді қарауға және жүктеулерге әсер етеді). |
| Модальді терезеде өңдеуге ашу | Ұзын мәндер қалқымалы терезеде өңделеді. |
| Show Label in DataGrid | Деректер торының әрбір жолында өріс меткасын көрсету. |
«Деректер» қойындысы
| Қасиет | Сипаттама |
|---|---|
| Әдепкі мән | Пайдаланушы енгізбей тұрып алдын ала толтырылған мән. |
| Деректер базасында сақтау | Мәнді жіберілетін форма деректеріне қосу керек пе (әдетте «Иә»). |
| API-ге жүктеп беруден қорғалған | Мән сақталады, бірақ сыртқы жүйелерге API және вебхуктар арқылы қайтарылмайды. |
| Database Index | ДҚБ-да өріс бойынша индекс жасайды (үлкен формалар үшін; ҚБ әкімшісінің қатысуын талап етеді). |
| Жазу кезінде шифрлау | Мән сервер жағында шифрланады. |
| Redraw On | Көрсетілген өріс өзергенде компонентті қайта сызу (күрделі көрсету логикасы үшін). |
| Шарт бойынша жасырылғанда мәнді жіберілетін деректерден алып тастау | Өріс шартпен жасырылса, оның мәні сабмишнге түспейді. |
| Кастомды әдепкі мән (JS) Жетілдірілген | JavaScript-өрнекпен есептелетін әдепкі мән. |
| Есептелетін мән (JS) Жетілдірілген | Басқа өрістерден мәнді автоматты есептеу (мысалы, кесте бойынша қосынды). |
| Мәнді серверде есептеу Жетілдірілген | Есептеу браузерде емес, серверде орындалады. |
| Есептелген мәнді қолмен өзгертуге рұқсат ету Жетілдірілген | Пайдаланушы есептелген мәнді қайта анықтай алады. |
| Серверлік қайта анықтау (JSON) Жетілдірілген | Серверде ауыстырылатын компонент параметрлері бар JSON. |
«Валидация (Тексеру)» қойындысы
| Қасиет | Сипаттама |
|---|---|
| Толтыруға міндетті | Толтырылмаған өріспен форманың жіберілуін блоктайды. |
| Тексеру уақыты | Тексеру сәті: өзгергенде, өрістен шыққанда немесе форма жіберілгенде. |
| Жасырын болса да валидациялау | Өріс шартпен жасырылғанда да тексеру. |
| Қате мәтіндерінде өрістің реттелетін атауы | Қате мәтіндерінде өріс қалай аталатыны (ұзын меткалар үшін ыңғайлы). |
| Қате хабарламасының өз мәтіні | Ереже бұзылғанда респондент көретін мәтін; форманың барлық тіліне аударылады. |
| Кастомды JS-валидация, JSONLogic Жетілдірілген | Еркін тексеру ережелері — қ. Жетілдірілген режим. |
«API қасиеттері» қойындысы
| Қасиет | Сипаттама |
|---|---|
| Деректердегі кілт атауы (Property Name) | Сабмишндегі, вебхуктағы, Excel жүктеудегі және сыртқы API-дегі өріс атауы. Мағыналы латын кілттерін қолданыңыз және жарияланым басталғаннан кейін өзгертпеңіз. |
| Топтау үшін өріс тегтері | Кастомды логикада өрістерді топтау үшін еркін тегтер. |
| Қосымша метадеректер (Кілт-Мән) | Сыртқы интеграциялар үшін еркін жұптар. |
«Көрсету шарттары» қойындысы
| Қасиет | Сипаттама |
|---|---|
| Бұл компонент көрсетілуі керек: | «True» — шарт орындалғанда көрсету, «False» — орындалғанда жасыру. |
| Форманың қай компоненті: / Келесі мәнге тең болғанда: | Шарттың қарапайым конструкторы: салыстыру үшін өріс пен мәнді таңдау. Толығырақ — Көрсету шарттары. |
| JSON-шарт (Custom Conditional) Жетілдірілген | Құрама ережелер үшін JSONLogic форматындағы шарт. |
«Орналасу» қойындысы
| Қасиет | Сипаттама |
|---|---|
| Баған ені / ығысу | 12-бағанды тордағы өріс ені (мобильді және планшет брейкпоинттерін қосқанда) және сол жақтағы ығысу. |
| HTML Attributes | Енгізу элементіне арналған еркін HTML-атрибуттар. |
«Логика» қойындысы Жетілдірілген
«Триггер болғанда → әрекет орындау» текті ережелер. Толық сипаттама — Жетілдірілген режим бөлімінде.
| Элемент | Сипаттама |
|---|---|
| Логика атауы / Түрі | Ереже атауы және триггер түрі: қарапайым шарт, JavaScript немесе JSONLogic. |
| «Қашан / Тең» триггері | Өрісті мәнмен салыстыру (көрсету шарттарындағыдай). |
| «Компонент қасиеті» әрекеті | Өріс қасиетін өзгерту (мысалы, міндетті ету). |
| «Күйді орнату» / «Мәтін» әрекеті | Өрісті еркін мәтні бар қате деп белгілеу. |
| «Мән (Javascript)» әрекеті | Өріс мәнін есептеп, орнату. |
| «Schema Definition» әрекеті | Схема фрагментін ағымдағы компонентпен біріктіру (merge). |
| «Custom Action (Javascript)» әрекеті | Триггер жұмыс істегенде орындалатын еркін код. |
| «Event Name» әрекеті | Форма оқиғасын іске қосу. |
Көрсету шарттары Логика
Шартты көрінулік респонденттің алдыңғы жауаптарына байланысты сұрақтарды көрсетуге немесе жасыруға мүмкіндік береді. Параметр компонент қасиеттері диалогының «Көрсету шарттары» қойындысында орындалады:
- Компонент шарт орындалғанда (True) көрсетілуі керек пе, әлде орындалмағанда (False) — оны көрсетіңіз.
- Шарт көзі өрісін форманың барлық компоненттерінің ашылмалы тізімінен таңдаңыз.
- Салыстыру мәнін көрсетіңіз. Шарт жауап көрсетілген мәнмен дәл сәйкес келгенде жұмыс істейді.
Мысал
«Көлік жүргізу куәлігінің нөмірін көрсетуіңіз» өрісі тек «Автомобиль бар-жоғы» ажыратқышында «Иә» жауабы таңдалғанда ғана көрсетіледі.
Шартпен жасырылған өрістер компонент параметрлерінде нақты рұқсат етілмесе, жіберуге түспейді. Күрделі шарттар үшін (бірден бірнеше өріс, сандарды салыстыру, есептелетін өрнектер) Жетілдірілген режимді қолданыңыз — JSONLogic-шарттар.
Негізгі өрістер Компоненттер
Респонденттерден ақпарат жинауға арналған, қосымша режимдерсіз қолжетімді негізгі құрылымдық блоктар.
Мәтіндік өріс
Біржолды енгізу: аты-жөні, мекенжай, еркін мәтін.
Көпжолды мәтін
Пікірлер, кері байланыс, толық жауаптар.
Сан
Жас, сомалар, сандық көрсеткіштер.
Пароль
Символдарды жасырып енгізу.
Құсбелгі (Чекбокс)
Шарттармен келісу, дара иә/жоқ ажыратқышы.
Құсбелгілер тобы
Көптаңдау: респондент кез келген сан нұсқаны белгілейді.
Ашылмалы тізім
Компакті тізімнен бір немесе бірнеше нұсқаны таңдау.
Ажыратқыш (Радио)
2–5 нұсқадан дара таңдау (жыныс, иә/жоқ).
Түйме
Форма ішіндегі әрекет түймелері: жіберу, қалпына келтіру, пайдаланушылық логика.
Файл жүктеу Файл қауіпсіздігі
Міндетті антивирустық тексерісі бар екі мамандандырылған жүктеу компоненті.
Файл
Құжаттар, сканерленген көшірмелер, PDF, архивтер.
Фото / Видео
Алдын ала көрінісі бар суреттер мен бейнежазбалар.
Файлдарды қауіпсіз өңдеу механизмі
- Респондент формада файлды таңдайды.
- Файл платформаның қорғалған файлдық шлюзіне жіберіліп, уақытша оқшауланған буферге орналастырылады.
- ClamAV қызметі файлды вирус пен зиянды сигнатураларға тексереді.
- Таза файл қорғалған S3-қоймасына сақталады, ал форма сабмишніне файлдың қауіпсіз бірегей UUID-і жазылады.
- Вирус анықталса — жүктеу блокталады, файл бірден жойылады.
Файлдың максималды өлшемін әкімші «Жүйе параметрлерінде» орнатады. Жүктелген файлдарды бағдарламалы жүктіп алу және қолжетімділік саясаттары Файлдарды жүктіп алу (File API) бөлімінде сипатталған.
Белгілеу және торлар Белгілеу
Деректерді жинамайтын, бірақ форманы құрылымдайтын компоненттер: өрістерді топтастырады, мәтінді безендіреді және орналасуды басқарады.
HTML элемент
Еркін HTML-белгілеуді қою: тақырыптар, бөлгіштер, сілтемелер.
Мәтіндік блок (Контент)
Форматталған түсіндірме мәтін: нұсқаулықтар, дисклеймерлер, контакт-блоктар.
Бағандар (Белгілеу)
Өрістерді 12-бағанды тор бойынша бір қатарға орналастыру: мысалы, «Аты» (6) және «Тегі» (6).
Өрістер тобы (Fieldset)
Ортақ тақырыбы мен жақтауы (легендасы) бар логикалық өріс тобы.
Панель (Карточка)
Тақырыбы мен безендірілуі бар контейнер. Ұзын сауалнамаларды мағыналы блоктарға бөледі («Жеке деректер», «Еңбек өтіні»).
Кесте
Күрделі макеттер мен көлденең кестелер үшін бекітілген «жолдар × бағандар» торы.
Қойындылар
Форманың бір бетіндегі ауыстырылатын қойындылар.
Жақтаулы контейнер (Well)
Өрістер тобын немесе мәтінді визуалды бөлектеу үшін астарлы блок.
Жетілдірілген өрістер Жетілдірілген режим
Бұл компоненттер «Жүйе параметрлерінде» Жетілдірілген режимді қосқаннан кейін палитрада пайда болады.
Электрондық пошта (Email)
Форматтың кірістірілген тексерісі бар пошта мекенжайы.
Веб-сілтеме (URL)
URL дұрыстығын тексеретін сайт немесе ресурс мекенжайы.
Телефон нөмірі
Енгізу маскасы бар телефон.
Тегтер
Мәндер тізімін «чиптермен» енгізу: дағдылар, кілт сөздер.
Мекенжай
Құрылымдалған мекенжай немесе сыртқы провайдер арқылы геоіздеу.
Күні және уақыты
Күнтізбеден күн және/немесе уақыт таңдау.
Күн (Дата)
Үш ашылмалы тізімнен күн: күн, ай, жыл.
Уақыт
Күнсіз уақыт таңдау (сағат:минут).
Валюта (Сома)
Форматтауы бар ақшалай сома.
Сауалнама матрицасы
«Сұрақ × жауап нұсқасы» кестесі: респондент ұяшықтарды белгілейді (мысалы, параметрлерге қанағаттанушылық).
Цифрлық қолтаңба
Тач-экранда тышқанмен немесе стилустың қолдан жазылған қолтаңбасы.
Деректер компоненттері Жетілдірілген режим
Жауаптар құрылымын және қайталанатын блоктарды ұйымдастыруға арналған контейнерлер. Жетілдірілген режимде қолжетімді.
Деректер контейнері
Кірістірілген өрістерді жеке жауап объектісіне топтастырады: паспорт: {серия, номер}.
Деректер торы (Кесте)
Бағандардың бекітілген жиыны бар қайталанатын жолдар: отбасы мүшелері, мекенжайлар, тауарлар.
Кілт-мән картасы
Респонденттің жедел енгізетін «кілт → мән» еркін жұптары.
Динамикалық кесте (EditGrid)
Еркін күрделіліктегі қайталанатын блоктар: әрбір жол — ашылатын форма.
Компонентті жасыру (Hidden)
Респондентке көрінбейтін өріс: техникалық мәндер, URL-ден алынған деректер, есептелетін тұрақтылар.
Компоненттердің егжей-тегжейлі параметрлері Анықтамалық
Корпоративтік формалардың ең сұранысқа ие компоненттерінің параметрлерінің толық тізбесі. Жалпы қасиеттер (метка, сипаттама, міндеттілік, API кілті т.б.) Өрістердің жалпы қасиеттері бөлімінде келтірілген — мұнда тек арнайылары.
Параметрлер құрамы платформаның ағымдағы нұсқасына сәйкес. Жетілдірілген белгісі — қасиет Жетілдірілген режимде қолжетімді.
Мәтіндік өріс, Көпжолды мәтін, Сан
Мәтіндік енгізудің жалпы параметрлері
| Қасиет | Сипаттама |
|---|---|
| Өріс ішіндегі кеңес (Placeholder) | Бос өрістегі сұр мысал-мәтін; деректерге түспейді. |
| Префикс (сол белгі) / Суффикс (оң белгі) | Өріс ішіндегі тұрақты мәтін: валюта, өлшем бірліктері, «+7». |
| Виджет + виджет параметрлері | Балама енгізу контролі (мысалы, күнтізбе). Арнайы сценарий қажет болмаса «Енгізу жолын» қалдырыңыз. |
| Енгізу маскасы | Қатаң формат шаблоны: 9 — цифр, a — әріп, * — әріп немесе цифр. Телефон мысалы: +7(999)999-99-99. |
| Display Mask (көрсету маскасы) | Енгізудің әсем көрінісі, сақталатын мәнді өзгертпейді. Маска мәнге де әсер етсін десеңіз, тек «Енгізу маскасын» қолданыңыз. |
| Apply Mask On (қолдану сәті) | Change (әдепкі) — масканы әр өзгерісте тексеру; Blur — өрістен шыққанда. |
| Input Mask Placeholder Char | Масканың толтырылмаған орындарын толтыратын символ; егер ол масканың өзінде кездессе — бос орынмен ауыстырылады. |
| Allow Multiple Masks + маскалар тізімі | Бірнеше балама маска: өрісте қажетті форматты таңдайтын ашылмалы тізім пайда болады. |
| «Күнтізбе» виджеті (Widget) | Мәтіндік өрісті жолдық мәннің күн таңдауына айналдырады: көрсету форматы мен сақтау форматы бөлек реттеледі, мән пайдаланушының таймзонасына тәуелсіз. Күндермен толыққанды жұмыс үшін «Күні және уақыты» компоненті дұрысрақ. |
| Браузердің автотолтыруы | Браузердің стандартты кеңестері (off, name, email, tel…). |
| Емле тексерісіне рұқсат ету | Браузердің емле қателерін бөлектеуі. |
| Символ / сөз санауышын көрсету | Өріс астындағы тікелей санауыш; ұзындық шектеулерімен қоса қолдану пайдалы. |
| Енгізу өрісінің өзін жасыру | Енгізу маскирленеді (пароль сияқты); мән ашық түрде сақталады — құпиялар үшін қолданбаңыз. |
| Бірнеше мәнге рұқсат ету (multiple) | Өріс мәндер массивін қабылдайды; жүктеуде және API-де — тізім. |
| Енгізу форматы (inputFormat) | Мәнді санитизациялау: мәтін / «шикізат» / HTML (XSS-кірістірулерден қорғаныс). |
| Text Case (мәтін регистрі) | Жоғарғы/төменгі регистрге автоматты келтіру. |
| Truncate Multiple Spaces | Қайталанатын бос орындарды қысу. |
| Базада бірегей мән | Мұндай мән бұрын бұл жарияланымда жіберілмегенін сервер тексерісі. |
| Мин./макс. ұзындық, Тұрақты өрнек, Мин./макс. сөз | Мәтін шектеулері; өрнек рецепттері — Валидация рецепттері. |
Тек «Көпжолды мәтінде»
| Қасиет | Сипаттама |
|---|---|
| Rows (жол саны) | Өрістің бастапқы биіктігі жолдармен (әдепкі 3). |
| Auto Expand | Енгізу кезінде өріс биіктігі бойынша автоматты өседі. |
| Editor (редактор) | Қарапайым мәтін немесе визуалды форматтау редакторы (қалың, тізімдер). Ескеріңіз: формалардағы форматталған мәтін қолжетімділікті (WCAG) нашарлатуы мүмкін — саналы қолданыңыз. |
| Editor Settings (JSON) | Визуалды редактордың JSON-конфигурациясы (құралдар панели, стильдер). Жетілдірілген |
| Enable Image Upload + қойма/URL/каталог/файл кілті | Редактор мәтініне суреттер кірістіру. Корпоративтік формаларда әдетте өшірулі — файлдарды «Файл» компонентімен жинаған дұрыс. |
| Save As (сақтау форматы) | Мәнді сақтау форматы: жол, JSON немесе HTML. |
Тек «Санда»
| Қасиет | Сипаттама |
|---|---|
| Use Thousands Separator | Мыңдарды бос орын/үтірге бөлу (1 000 000). |
| Decimal Places | Ондық үтірден кейінгі белгілер санының максимумы. |
| Require Decimal | Ондық белгілерді нөлдіктерімен қоса әрқашан көрсету (10,00). |
| Decimal Symbol Жетілдірілген | Ондық бөлгіш символы (мысалы, үтір); диалогта жасырын — схема JSON-інде "decimalSymbol": "," ретінде орнатылады. |
| Минимум / Максимум (валидация) | Санның рұқсат етілген диапазоны; есептілік пен есептеулерде қолданылады. |
| Бүтін сан (валидация) | Бөлшек бөлігісіз тек бүтін мәндерге рұқсат ету. |
| Қадам (валидация) | Мәннің гранулярлығы (қадамға еселік); әдепкі «any» — кез келген. |
Құсбелгі, Құсбелгілер тобы, Ажыратқыш (Радио)
Тек «Құсбелгіде (Чекбокс)»
| Қасиет | Сипаттама |
|---|---|
| Input Type (енгізу түрі) | Контролдің HTML-түрі (құсбелгі немесе радиокнопка). |
| Radio Key (name) | Топ атауы: бірдей name-і бар бірнеше құсбелгі радио-таңдау сияқты жұмыс істейді. |
| Radio Value | Құсбелгі орнатылғанда жіберілетін мән (әдепкі «true»). |
| Shortcut (ыстық перне) | Пернетақтадан өріске жедел өту. |
Нұсқалардың жалпы параметрлері (Құсбелгілер тобы және Радио)
| Қасиет | Сипаттама |
|---|---|
| Values (нұсқалар) | Нұсқалар кестесі: Метка — респондент көретін, Мән — деректер мен есептерде сақталатын (тек жолдар немесе сандар!), Shortcut — ыстық перне. Нұсқалар реті сүйреп өзгертіледі. |
| Options Label Position | Нұсқа подписьтарының орналасуы (оңда/солда/жоғарыда/төменде). |
| Inline Layout | Нұсқалар бір қатарда (компакті) немесе тізіммен. |
| Деректер көзінің түрі (dataSrc) | Нұсқалар қолмен беріледі немесе URL арқылы жүктеледі (JSON-массив): Data Source URL, Сақтау өрісі (Value Property), Нұсқаның көрсету шаблоны. |
| Сақтау түрі (dataType) — тек Радиода | Сақталатын мәннің түрі: жол, сан, логикалық, объект. |
| Authenticate / Disables caching — URL-көздері үшін | Сұрау авторизациясы және жауапты кэштеу. SuraqHub сөздіктері үшін өшірулі қалдырыңыз — эндпоинт форма аясында жария. |
«Құсбелгілер тобында» қосымша: Minimum/Maximum checked number — белгіленген нұсқалардың минималды және максималды саны, қате мәтіндерімен (Minimum/Maximum checked error message). Максимумқа жеткенде қалған нұсқалар автоматты деактивацияланады.
«Ажыратқышта (Радио)»: таңдалған нұсқаны қайта шеруде таңдау алынады (респондент шеруден кейін сұрақты жауапсыз қалдыра алады — мұндай болмауы тиіс болса «Міндеттіні» қолданыңыз).
Ашылмалы тізім (Select)
Деректер көзі
| Қасиет | Сипаттама |
|---|---|
| Деректер көзінің түрі (dataSrc) | Values — қолмен берілген тізім (метка/мән); URL — сыртқы көзден JSON, платформа сөздіктерін қоса /api/v1/dictionaries/{код}; JSON — массивті тікелей параметрге қою; Custom — JavaScript-функция Жетілдірілген. SuraqHub-та «Ресурс» режимі қолданылмайды. |
| Data Source URL | Нұсқалар JSON-массивінің мекенжайы. Анықтамалықтар үшін — Runtime Dictionary API renderer-і. |
| Data Source Raw JSON | Параметрдің өзінде JSON форматындағы нұсқалар массиві. |
| Сақтау өрісі (Value Property) | JSON элементінің қай өрісі мән деп есептеледі (мысалы, code), ал қайсысы подпись (шаблон арқылы). Бос қалдырсаңыз — жауапқа объект түгел сақталады. |
| Data Path (selectValues) | JSON оралған болса, жауап ішіндегі массивке жол (мысалы, data.items). |
| ID Path / Select Fields | Идентификатор өрісі және қайтарылатын өрістер тізімі (серверлік көздер үшін). |
| Нұсқаның көрсету шаблоны (template) | Нұсқа жолының HTML-шаблоны (элементтің бірнеше өрісін көрсетуге болады). |
| Сақтау түрі (dataType) | Сақталатын мәнді келтіру: жол, сан, boolean, объект. |
| Бірнеше мәнге рұқсат ету (multiple) | Көптаңдау; деректерде — массив. |
| Unique Options | Нұсқалардың қайталануларын жасыру. |
| Widget Type | Іздеуі бар заманауи тізім (Choices) немесе HTML5-тің нативті <select>-і. |
Серверлік сүзгілеу және іздеу (URL-көздері үшін)
| Қасиет | Сипаттама |
|---|---|
| Search Query Name | Іздеу тіркесі қойылатын query-параметрдің атауы. |
| Search request delay | Әр символда сұрау жібермеу үшін іздеу сұрауын жіберместен бұрынғы кідіріс (секундпен, әдепкі 0.3). Мысалы, URL …/dictionaries/orgs + q параметрі + «салық» тіркесі → …/dictionaries/orgs?q=салық сұрауы. |
| Minimum Search Length | Іздеу басталмай тұрған тіркестің минималды ұзындығы. |
| Enable Static Search | Бұрын жүктелген тізім бойынша іздеу (серверге сұраусыз). |
| Use exact search | Бұлыңғыр іздеудің орнына дәл сәйкестік. |
| Search Threshold | Іздеудің «бұлыңғырлық» табалдырығы: 0.0 — тек дәл сәйкестіктер, 1.0 — бәрі сәйкеседі; әдепкі 0.3. |
| Filter Query / Sort Query | Сүзгілеу мен сұрыптаудың қосымша query-параметрлері. Сұрыптау синтаксисі: created — өсу бойынша, -created — кему бойынша, data.field_name — жауап өрісі бойынша (минус — кему бойынша). |
| Request Headers (сұрау тақырыптары) | URL-көзі үшін еркін тақырыптар (мысалы, сыртқы API токені). Жетілдірілген |
| Limit | Жүктелетін нұсқалар санының шектеуі. |
| Disable limiting response | Сұрауда limit/skip жібемеу (барлығын жүктеу). |
| Lazy Load Data | Нұсқаларды форма жүктелгенде емес, тізім ашылғанда ғана сұрау. |
| Disable Options Refresh When Scrolling | Тізімді скроллдағанда нұсқаларды қосымша жүктемеу. |
Мінез-құлық және интеграциялар
| Қасиет | Сипаттама |
|---|---|
| Refresh Options On / On Blur | Басқа өріс өзергенде/одан шыққанда нұсқаларды қайта жүктеу (каскадты тізімдер: ел → қала). |
| Clear Value On Refresh Options | Тізім жаңартылғанда таңдалған мәнді түсіріп тастау. |
| Өріс ішіндегі кеңес (Placeholder) | Бос тізімнің мәтіні («— таңдаңыз —»).) |
| Read Only Value | Тек оқу режимінде подписьтің орнына «шикізат» мәнді көрсету. |
| Choices.js options (customOptions) | Тізімнің шикі JSON-конфигурациясы. Жетілдірілген |
| Add Resource / Add Resource Label, Save as reference | Кірістірілген ресурс қоймасының жазбаларын жасау. SuraqHub-та қолданылмайды. |
| «Тек тізімдегі нұсқаларға рұқсат етіледі» тексерісі (Only available items) | Тізімде жоқ мәндерге тыйым салу (анықтамалық өрістер үшін ұсынылады). |
| Базада бірегей мән | Жауаптың бірегейлігін серверлік тексеру. |
Күні және уақыты
Барлық параметрлері
| Қасиет | Сипаттама |
|---|---|
| Күн / уақыт таңдауын қосу | Жеке ажыратқыштар: күн өрісі, уақыт өрістері немесе екеуі де. |
| Күнді көрсету форматы | Формат маскасы (әдепкі yyyy-MM-dd hh:mm a, мысалы dd.MM.yyyy); пайдаланушының енгізуін де анықтайды. Мән әрқашан ISO 8601-де сақталады — сүзгілеу мен есептілікке ыңғайлы. |
| Allow Manual Input | Күнді пернетақтадан қолмен енгізу (әдепкі қосулы); өшіресеңіз — тек күнтізбеден таңдау. |
| Use Locale Settings | Респондент браузерінің локалы бойынша формат. |
| Display in Timezone / Select Timezone | Сақталған мәнді қай сағаттық белдеуде көрсету: көруші локалысында, жіберілген белдеуде, тізімдегі белгілі бір белдеуде немесе UTC. Аймақаралық формалар үшін. |
| Default Date | Әдепкі күн; moment-өрнектерді қолдайды, мысалы moment().subtract(10, 'days') — «10 күн бұрын». Жетілдірілген |
| Minimum Date / Maximum Date | Рұқсат етілген күндер диапазоны (туған күндер, қабылдау кезеңдері). «Use Input…» ажыратқыштары шекараларды moment-өрнекпен беруге мүмкіндік береді. Жетілдірілген |
| Disable weekends / Disable weekdays | Демалыс күндерін немесе, керісінше, жұмыс күндерін тыйым салу. |
| Disable specific dates | (yyyy-MM-dd) форматындағы немесе (yyyy-MM-dd - yyyy-MM-dd) диапазонындағы күндердің «қара тізімі». |
| Disabling dates by a function | Күндерге тыйым салатын JS-функция, мысалы date.getDay() === 0 || date.getDay() === 6 — барлық жексенбі мен сенбі. Жетілдірілген |
| Hour Step Size / Minute Step Size | Уақыт селекторындағы сағат пен минут жебелерінің қадамы. |
| 12-сағаттық формат (AM/PM) | Уақыттың 12-сағаттық көрінісі. |
| Flatpickr options (customOptions) | Күнтізбенің шикі JSON-конфигурациясы. Жетілдірілген |
| Бірнеше мәнге рұқсат ету (multiple) | Күндер тізімі. |
Түйме
Барлық параметрлері
| Қасиет | Сипаттама |
|---|---|
| Әрекет (Action) | Жіберу (Submit) — форманы жіберу; Күйде сақтау — жобаны (draft) күй атауымен валидацияны тексерместен сақтау («Жобаны сақтау» түймесі); Қалпына келтіру (Reset) — барлық өрістерді бастапқы күйге қайтару; Оқиға (Event) — форма логикасы үшін оқиға іске қосу; URL — сабмишнді көрсетілген мекенжайға жіберу; Өз логикасы (Custom) — JavaScript-өңдеуші Жетілдірілген. |
| Тақырып (Label) / Мән | Түймедегі мәтін және деректердегі басудың техникалық мәні. |
| Тема | Түс стилі: primary, secondary, info, success, warning, danger, link. |
| Өлшем / Block Button | Түйменің өлшемі және контейнердің толық еніне созылуы. |
| Left Icon / Right Icon | Мәтіннің сол/оң жағындағы белгішелер (белгіше CSS-классы, мысалы bi bi-send). |
| Формада қателер болса блоктау (disableOnInvalid) | Формада валидация қателері болғанда түйме белсенді емес. |
| Show Validations | Басқанда форманың барлық валидация қателерін көрсету. |
| Save On Enter | Enter пернесімен форманы жіберу. |
| Shortcut | Басудың ыстық пернесі. |
| OAuth Provider | Сыртқы OAuth-провайдер арқылы кіру. SuraqHub-та қолданылмайды — аутентификация жарияланым деңгейінде. |
Файл және Фото / Видео
Барлық параметрлері
«Фото / Видео» — бұл Display as image(s) алдын ала орнатылған және image/*,video/* шаблоны бар сол бір «Файл» компоненті. Жүктеу әрқашан ClamAV тексерісі бар платформаның қорғалған файлдық шлюзі арқылы жүреді.
| Қасиет | Сипаттама |
|---|---|
| Storage / жүктеу URL-і | Қойма түрі және жүктеу мекенжайы — платформамен конфигурацияланған. Қолмен өзгертпеңіз. |
| Рұқсат етілген файл форматтары | Рұқсат етілген түрлер шаблоны: .pdf,.docx, image/*, application/*. Бос — кез келген файлдар. |
| Файлдың минималды / максималды өлшемі | Байтпен немесе суффикспен шектеулер (мысалы, 10MB). Жалпы максимум «Жүйе параметрлерінде» орнатылады. |
| Бірнеше мәнге рұқсат ету (multiple) | Бір өріске бірнеше файл жүктеу. |
| Display as image(s) | Сілтемелер тізімінің орнына сурет миниатюраларын көрсету. |
| Image Size | Суреттердің алдын ала көрініс өлшемі. |
| Enable web camera / Webcam Width | Құрылғы камерасынан түсірілімді тікелей формаға алу. |
| Enable device capture | Мобильді құрылғыларда түсірілім режимінде камера/микрофонды тікелей ашу. |
| Upload Only | Тек жүктеу: формадан жүктіп алуға тыйым (файлдар операторларға File API арқылы қолжетімді). |
| Private Download | Авторизациясы бар POST-сұраумен жүктіп алу (қорғалған файлдар үшін). |
| Directory / File Name Template | Қойма каталогы (/-мен аяқталуы тиіс) және жүктелетін файл атауының шаблоны; платформамен реттеледі. |
| File form-data key | Жүктеу кезіндегі multipart-сұраудың өріс атауы; платформамен бекітілген. |
| Use the S3 Multipart Upload API / Part Size | Үлкен файлдарды тікелей S3-ке көпбөлікті жүктеу. SuraqHub-та қолданылмайды — жүктеу шлюзі өзіміздікі. |
Деректер торы (Кесте)
Барлық параметрлері
Тор бағандары — ішіне сүйреп әкелінген кез келген компоненттер. Деректерде және жүктеуде тор объектілер массиві ретінде сақталады.
| Қасиет | Сипаттама |
|---|---|
| Number of Rows | Форма жүктелгенде қосылатын жолдар саны. |
| Initialize Empty | Пайдаланушы қоспайынша бірде-бір жол көрсетпеу. |
| Disable Adding / Removing Rows | Жол қосу/жою түймелерін жасыру (бекітілген кесте). |
| Conditional Add Button | Жол қосу түймесі көрсетілетін шарт. Жетілдірілген |
| Add Another Text | Жол қосу түймесіндегі өз жазуы. |
| Add Another Position | Қосу түймесінің орналасуы (жоғарыда/төменде/екеуі де). |
| Allow Reorder | Ретті өзгерту үшін жолдарды сүйреп ауыстыру. |
| Equal column width | Авто-таңдаудың орнына бірдей енді бағандар. |
| Enable Row Groups / Hide Group on Header Click | Жолдарды өрнек бойынша топтастыру және тақырыпты шеруде топтарды жию. Жетілдірілген |
| Мин./макс. жолдар (валидация) | Толтырылған жолдар санының шектеуі. Минимумқа жеткенде жол жою түймесі жасырылады, максимумға жеткенде — қосу түймесі. |
Динамикалық кесте (EditGrid)
Барлық параметрлері
«Деректер торының» туысы: әрбір жол — ашылатын форма (әдепкіде модальді терезеде өңдеу). Көп өрісті блоктарға жарамды: білім, еңбек өтіні, өтініштер.
| Қасиет | Сипаттама |
|---|---|
| Display as Modal | Жолды модальді терезеде қосу/өңдеу (әдепкі) немесе жердегі инлайн-өңдеу. |
| Inline Editing | Өңдеу режиміндегі өзгерістер жолды растау түймесінсіз бірден форма жауабына сақталады. |
| Open First Row when Empty | Кесте бос болғанда бірінші жол бірден толтыруға ашық тұрады. |
| Disable Adding / Removing Rows | Жол қосу/жою түймелерін жасыру (бекітілген жиын). |
| Conditional Add Button | Жол қосу түймесінің көрсету шарты. Жетілдірілген |
| Add Another Text / Save Row Text / Remove Row Text | Жол қосу, сақтау және жою түймелеріндегі өз жазулары. |
| Header / Table Header / Row / Table Row / Footer Template | Қарау режиміндегі тақырыптың, жолдың және астыңғы бөліктің HTML-шаблондары (мысалы, жолды «Аты-жөні — лауазым» бір жолмен көрсету). Жетілдірілген |
| Row CSS Class | Өңделетін жол орамының қосымша CSS-классы. Жетілдірілген |
| Enable Row Drafts | Өрістері валидациядан өтпесе де жол-жобаны (draft) сақтауға рұқсат ету. |
| Мин./макс. жолдар (валидация) | Деректер торындағыдай: түймелер лимиттер шекарасында өздері жасырынады. |
Мекенжай
Барлық параметрлері
Екі режимі бар мекенжай өрісі: сыртқы гео-сервистің автокеңестері немесе қолмен құрылымдалған енгізу. Сыртқы картографиялық API-ге қолжетімдігі жоқ корпоративтік желілер үшін қолмен режимін қолданыңыз.
| Қасиет | Сипаттама |
|---|---|
| Enable Manual Mode | Мекенжайды қолмен енгізуге рұқсат ету (гео-сервиссіз). Ішкі желілер үшін сенімді нұсқа. |
| Switch To Manual Mode Label | «Қолмен енгізу» ажыратқышының подписі. |
| Disable Clear Icon | Мәнді жедел тазарту белгішесін жасыру. |
| Provider | Автокеңестер провайдері (Google, Azure Maps т.б.). Кілтті және сервистің респондент желісінен қолжетімділігін талап етеді. |
| API Key / Subscription Key | Сәйкес провайдерлердің кілттері. |
| URL / Query Property / Params | Өз гео-сервисіңіз: іздеу мекенжайы, іздеу тіркесі бар query-параметрдің атауы, JSON-объект ретіндегі қосымша параметрлер. Жетілдірілген |
| Response Property / Display Value Property | Жауаптағы мекенжайлар массивіне жол және нұсқаны көрсету өрісі. Жетілдірілген |
| Manual Mode View String | Қолмен енгізудегі мекенжай жолының шаблоны. Жетілдірілген |
| Өріс ішіндегі кеңес / Бірнеше мәнге рұқсат ету / Әдепкі мән | Қарапайым мәтіндік өрістердегідей. |
Валюта (Сома)
Тек арнайы параметрлер
Ақшалай маскасы бар сандық өрістің түрі: мыңдық бөлгіштер автоматты қойылады. Мәтіндік енгізудің жалпы қасиеттері (маскалар, префикс/суффикс, енгізуді жасыру) — мәтіндік өрістердегідей.
| Қасиет | Сипаттама |
|---|---|
| Валюта | Валюта таңдауы — өрістегі символ-префиксті және соманың көрсету форматын анықтайды. |
| Префикс / Суффикс | Сома айналасындағы қосымша мәтін (мысалы, «теңге»); валюта өз символын бұрыннан қояды. |
| Минимум / Максимум / Бүтін сан (валидация) | Сома диапазоны және тиындарға тыйым — «келісім сомасы» сияқты өрістер үшін. |
Цифрлық қолтаңба
Тек арнайы параметрлер
Тышқанмен немесе стилустың қолдан жасалған қолтаңба; форма жауабында сурет ретінде сақталады. ЭЦП-мен (Ncalayer) шатастырмаңыз — криптографиялық қолтаңба жарияланым параметрлерімен қосылады.
| Қасиет | Сипаттама |
|---|---|
| Width / Height | Қолтаңба полотносының өлшемдері. |
| Keep Overlay Aspect Ratio | Алдын ала көрініс полотно пропорцияларын сақтайды. |
| Background Color / Pen Color | Полотно фонының түсі және қалам түсі. |
| Footer Label | Полотно астындағы мәтін (мысалы, «Өтініш берушінің қолтаңбасы»). |
Тегтер
Тек арнайы параметрлер
Мәндер тізімін «чиптермен» енгізу (әрбір мән — жеке тег); жауапта жолдар массиві сақталады.
| Қасиет | Сипаттама |
|---|---|
| Delimiter (бөлгіш) | Қай символ бір тегті екіншісінен бөледі (үтір, бос орын, Enter). |
| Max Tags | Тегтердің максималды саны. |
| Store As (Storeas) | Массивті сақтау форматы: бөлгіштері бар жол немесе шынайы массив. Жетілдірілген |
| Әдепкі мән | Алдын ала толтырылған тегтер. |
Тәжірибелік сценарийлер How-To
Типтік міндеттердің дайын рецепттері: қажетті форма мінез-құлқын алу үшін қандай компоненттер мен параметрлерді біріктіру керек.
📋 1-сценарий. Маска мен тексерісі бар ЖСН/БСН өрісі
- Мәтіндік өрісті қосыңыз, «ЖСН/БСН» деп атаңыз.
- «Көрсетілуде» Енгізу маскасын
999999999999— дәл 12 цифр, және Браузердің автотолтыруын =offорнатыңыз. - «Валидация қойындысында»: Міндеттіні қосыңыз, Тұрақты өрнекті
^\d{12}$және түсінікті қате мәтінін беріңіз: «ЖСН/БСН 12 цифрдан тұрады». - «API қасиеттерінде» өріс кілтін тексеріңіз — мысалы,
iin_bin: осы атаумен мән есептерге мен вебхуктарға кетеді.
Нәтиже: респондент әріптер немесе артық цифрлар енгізе алмайды, ал сервер қате ұзындықты форманы бағдарламалы жібергенде де қабылдамайды.
🗺 2-сценарий. «Облыс → Қала» каскадты тізімдері
- Екі Ашылмалы тізім жасаңыз: «Облыс» және «Қала».
- Екеуіне де Деректер көзінің түрі = URL және анықтамалық мекенжайын (өз REST-эндпоинтыңыз немесе платформа сөздігі
/api/v1/dictionaries/{код}) беріңіз. - «Қала» тізімінің Refresh Options On өрісінде «Облыс» компонентін таңдаңыз — қала тізімі облыс ауысықанда қайта жүктеледі.
- Clear Value On Refresh Options қосыңыз — облыс ауысықанда бұрын таңдалған қала түсіп кетеді (әйтпесе бөтен облыстың қаласы қалып қояды).
- Қаланың URL-көзінде таңдалған облысты параметрмен беріңіз:
?region={{ data.region }}— сонда сервер тек сәйкес қалаларды қайтарады.
Анықтамалықтар форма жүктелгенде емес, ашылғанда ғана жүктелуі үшін екі тізімде де Lazy Load Data қосыңыз.
✅ 3-сценарий. Деректерді өңдеуге келісім құсбелгісі
- «Жеке деректерді өңдеуге келісемін» меткасы бар Құсбелгіні (Чекбокс) қосыңыз.
- «Валидация қойындысында» Толтыруға міндеттіні қосыңыз және қате мәтінін беріңіз: «Жеке деректерді өңдеуге келісім талап етіледі».
- Құсбелгіні жіберу түймесінің алдындағы соңғы өріс етіп қойыңыз; саясат сілтемесін құсбелгінің үстінде Мәтіндік блок (Контент) арқылы қосыңыз.
Құсбелгіге «Әдепкі мән = қосулы» бермеңіз: келісім саналы әрекет болуы тиіс.
💾 4-сценарий. «Жобаны сақтау» түймесі
- Негізгі жіберу түймесінің қасына Түймені қосыңыз.
- «Әрекетте» Күйде сақтауды таңдап, күй атауын көрсетіңіз, мысалы
draft. - Show Validations пен Формада қателер болса блоктауды өшіріңіз — жоба міндетті өрістер толтырылмаса да сақталуы тиіс.
- Негізгі жіберу түймесінен визуалды ерекшеленуі үшін түйме темасын «secondary» етіп беріңіз.
Периодтық формалар үшін жобалар «Ағымдағы есепті жалғастыру» параметрімен бірге жұмыс істейді — респондент сауалнаманы кезең ішінде толықтыра алады. Толығырақ: Периодтық есептілік.
👨👩👧 5-сценарий. Лимиттері бар «Отбасы мүшелері» кестесі
- Деректер торын (Кестені) «Отбасы мүшелері» қосыңыз.
- Ішіне өрістерді сүйреңіз: аты-жөні (Мәтіндік өріс), туған күні (Күні және уақыты), туыстық дәрежесі (сөздіктен Ашылмалы тізім).
- «Валидация қойындысында» Минимум/Максимум жолдарды беріңіз — мысалы, минимум 1, максимум 10.
- «Add Another Text»-ге «+ Отбасы мүшесін қосу» жазыңыз, «Number of Rows»-ға 1 қойыңыз.
Excel жүктеуде кестенің әрбір жолы жауапқа family_members массивінің жеке объектісі ретінде түседі — жолдар ішіндегі өріс кілттерінің бірдей болуы міндетті.
📚 6-сценарий. Платформа сөздігінен ашылмалы тізім
- Ашылмалы тізім жасаңыз, деректер көзі — URL.
- Сөздік мекенжайын көрсетіңіз:
/api/v1/dictionaries/{код словаря}— деректер жазбалар анықтамалығында басқарылады, форманы қайта құрмай-ақ. - Сақтау өрісін (Value Property) сөздік құрылымы бойынша беріңіз (мысалы,
code), ал подписьті Нұсқаның көрсету шаблонымен реттеңіз. - Респондент сөздік сыртындағы мән жібермесін десеңіз, «Тек тізімдегі нұсқаларға рұқсат етіледі» тексерісін қосыңыз.
Анықтамалық жаңартылғанда форма жаңа нұсқаларды автоматты қабылдайды — форма ревизиясы талап етілмейді.
Деректерді валидациялау және шартты логика Логика
✅ Валидация ережелері
- Міндетті өріс (Required): өріс толтырылмаса форманың жіберілуін блоктайды.
- Минималды / максималды ұзындық: мәтіндік өрістер үшін.
- Тұрақты өрнектер (Regex Pattern): ЖСН/БСН, телефон нөмірлері, паспорттар мен кез келген форматтарды тексеру (қ. Валидация рецепттері).
- Минимум / максимум: сандар мен күндер үшін.
- Реттелетін қате хабарламалары: ереже бұзылғанда пайдаланушы көретін өз мәтіні. Форманың барлық тілінде қолдау табады.
🔀 Шартты көрінулік (Conditional Logic)
Өрістер респонденттің жауаптарына байланысты көрсетіледі немесе жасырылады. Параметр — компонент қасиеттері диалогының «Көрсету шарттары» қойындысында:
Мысал
«Көлік жүргізу куәлігінің нөмірін көрсетуіңіз» өрісі тек «Автомобиль бар-жоғы» ажыратқышында «Иә» жауабы таңдалғанда ғана көрсетіледі.
Жетілдірілген режимде JSONLogic-шарттар қолжетімді — бірнеше өріс бойынша құрама ережелер, сандар мен күндерді салыстырулар, кірістірілген тармақталу.
Жетілдірілген режим Advanced
Тәжірибелі форма әзірлеушілеріне арналған режим. Менеджердің «Жүйе параметрлері» бөлімінде қосылады — «Жетілдірілген режим» құсбелгісі (JSON, PDF және күрделі логикаға толық қолжетімділік).
Не ашылады
- Палитраның «Жетілдірілген» және «Деректер» категориялары: мамандандырылған өрістер және деректер контейнерлері.
- Компоненттердегі «JSON» түймесі: кез келген өрістің JSON-схемасын тікелей өңдеу.
- Компонент қасиеттері диалогындағы «Логика» қойындысы (төменде қараңыз).
- Есептелетін мән: басқа жауаптардан өріс мәнін автоматты есептейтін JavaScript-өрнек (мысалы, кесте өрістерінің қосындысы).
- Кастомды JS-валидация: мәнді JavaScript-функциямен еркін тексеру.
- JSONLogic: декларативті форматтағы құрама көрінулік және валидация шарттары.
- Мәннің серверлік қайта есептелуі және есептелетін өрістерді қолмен қайта анықтауға рұқсат.
Айнымалылары мен код мысалдары бар JS-параметрлердің толық тізбесі — Компоненттердің JavaScript-қасиеттері бөлімінде.
«Логика» қойындысы
Кеңейтілген логика «триггер болғанда → әрекетті орындау» түріндегі ережелермен сипатталады:
- Триггерлер: өріс бойынша қарапайым шарт, JSONLogic-өрнек немесе JavaScript-функция.
- Әрекеттер: компонент қасиетін өзгерту (мысалы, өрісті міндетті ету), күйді өзгерту, схеманың бір бөлігін біріктіру (merge), еркін код орындау.
«Егер несие сомасы 1 000 000-нан асса — кепіл берушілер блогын көрсету және ЖСН өрісін міндетті ету» текті сценарийлер осылай жүзеге асырылады.
⚠️ Жауапкершілік
Кастомды JavaScript пен JSON-редактор респондент браузерінде орындалады: кодтағы қате форманың көрінісін немесе жіберілуін бұзуы мүмкін. Жетілдірілген логиканы қосқаннан кейін форманы жарияланымның барлық тілдерінде «Алдын ала көріністе» міндетті түрде тексеріңіз.
Компоненттердің JavaScript-қасиеттері Жетілдірілген
Өрістердің JavaScript-коды қабылдайтын бірқатар параметрлері бар: есептелетін мәндер, кастомды валидация, JS-шарттар, деректер көздері және логика әрекеттері. Олардың бәрі тек Жетілдірілген режимде қолжетімді.
Қарапайым шартпен немесе тұрақты өрнекпен шешуге болатынды солармен шешкен дұрыс: JS-коды «қауіпсіз бағалаумен» орындалады және жиі қолданылғанда форманы баяулатады.
Қолжетімді айнымалылар (жалпы контекст)
Барлық JS-нүктелерде бірдей айнымалылар қолжетімді:
| Айнымалы | Мазмұны |
|---|---|
data | Форманың енгізілген барлық деректері (объект: өріс кілті → мән). |
row | Ағымдағы жолдың деректері — Деректер торы, Динамикалық кесте және Контейнер ішінде. |
form | Форманың толық JSON-ы. |
submission | Сабмишннің толық объектісі. |
component | Ағымдағы компоненттің JSON-ы. |
instance | Ағымдағы компоненттің данасы (өріс API-і). |
value | Компоненттің ағымдағы мәні. |
moment | Күндермен жұмыс кітапханасы (мысалы, moment().subtract(10, 'days')). |
_ | Lodash. |
utils / util | Формалармен жұмыс істеуге арналған платформа утилиттері. |
Басқа өрістерге олардың Property Name кілті бойынша («API қасиеттері» қойындысы), ал Ажыратқыштарда, Тізімдерде және Құсбелгілер топтарында — нұсқа меткасының орнына оның мәні бойынша сілтеме жасаңыз.
JavaScript-тің барлық кіру нүктелері
| Параметр (қай жерде) | Не жазылады |
|---|---|
| JSON-көрсету шарты |
show =-ден басталатын логикалық өрнек. Мысал: өріс тек жалғыз/жесір әрі табысы 45 000-нан төмен болғанда көрінеді: |
| Кастомды әдепкі мән (JS) |
Форма жүктелгенде әдепкі мәнді есептейді, мысалы күнді алдын ала толтыру: value = moment().format('DD.MM.YYYY'); |
| Есептелетін мән (JS) |
value-ге меншіктеу; бастапқы өрістер өзергенде қайта есептеледі. Кесте жолдары бойынша қосынды мысалы:Қасында: «Серверде есептеу», «Қолмен өзгертуге рұқсат ету». |
| Кастомды JS-валидация |
valid =-ден басталатын өрнек; өрістің ағымдағы мәні input айнымалысында; true — өріс валидті, жол — қате мәтіні. Email растау мысалы: |
| «Javascript» триггері |
Ереженің жұмыс істеу шарты — көрсету шарттарындағыдай контекст; логикалық мән қайтарады. |
| «Мән (Javascript)» әрекеті |
Триггер жұмыс істегенде өріс мәнін өзгертеді; row, data, component және result қолжетімді. |
| «Custom Action (Javascript)» әрекеті |
Оқиға бойынша еркін код: блоктарды жасыру/көрсету, бірнеше өрісті өзгерту, форма оқиғасын шақыру. |
| Түйменің өз логикасы (Custom) |
Түйме басылғанда орындалатын код — мысалы, өрістер тобын валидациялау және диалог көрсету. |
| Кастомды нұсқалар көзі |
Тізім нұсқаларын форма деректерінен немесе сыртқы сұраудан толтырады (Promise қайтаруы мүмкін): |
| Шартты жол қосу түймесі |
«+ Жол қосу» түймесі көрсетілетін шарт (JS немесе JSONLogic) — мысалы, белгілі бір өтініш түрі үшін 5 жолдан аспайды. |
💡 Жақсы тәжірибелер
- Деректердің бар-жоғын тексеріңіз (
data.items || []): өріс бос немесе жасырын болуы мүмкін. - Қарапайым шарт жеткілікті жерде JS қолданбаңыз — бұл жылдам әрі сенімдірек.
- Форманы «Алдын ала көріністе» барлық тілдерде және бос мәндерде тексеріңіз.
- Есте сақтаңыз: код респондент браузерінде орындалады — оған құпиялар салмаңыз және оны деректердің жалғыз қорғанысы ретінде қабылдамаңыз (серверлік валидация міндетті).
Валидация рецепттері Үлгілер
«Валидация (Тексеру)» қойындысы → «Тұрақты өрнек» өрісіне арналған дайын тұрақты өрнектер. Түсінікті қате мәтінін де көрсетіңіз.
| Формат | Тұрақты өрнек | Түсіндірме |
|---|---|---|
| ЖСН / БСН | ^\d{12}$ |
Дәл 12 цифр. |
| ҚР мобильді нөмірі | ^\+7\d{10}$ |
+7XXXXXXXXXX форматы. 8XXXXXXXXXX форматы үшін ^8\d{10}$ қолданыңыз. |
| Электрондық пошта | кірістірілген | «Электрондық пошта (Email)» компонентін қолданыңыз — форматты тексеру бұрыннан қосулы. |
| Тек әріптер мен бос орындар | ^[А-Яа-яЁёA-Za-z\s-]+$ |
Цифрлар мен арнайы символдарсыз аты-жөні. |
| Құжат нөмірі | ^[A-Z0-9]{8,12}$ |
Бас әріп латын әріптері мен цифрлар, 8–12 символ. |
| Банктік карта нөмірі (маска) | ^\d{4}(\s?\d{4}){3}$ |
16 цифр, топтар арасында бос орындар болуы мүмкін. |
⚠️ Жеке деректер
Қажеттіліксіз ЖСН, паспорт деректері мен карта реквизиттерін сұрамаңыз: мұндай өрістері бар жарияланымның мағыналы құқықтық негізі және шектеулі респонденттер шеңбері (рөлдер бойынша қолжетімділік) болуы тиіс.