Juhendid

Kuidas luua vormiehitajat

Vormiehitaja võimaldab inimestel oma vorme kujundada – valida väljad, seada reeglid, avaldada link – ja seejärel koguda vastuseid. Sisuliselt koosneb see kolmest osast: vormi määratlus andmetena, renderdaja, mis muudab määratluse töötavaks vormiks, ning vastuste hoidla koos teavituste ja eksportimisega. Enne ehitamist kontrolli, kas sul üldse seda vaja on: kui vajad vaid kontaktvormi või taotlusvormi, ehita see vorm otse ja jäta ehitaja vahele.

Kas vajad üldse ehitajat?

Sinu olukordEhita
Üks või kaks vormi, mis harva muutuvadVormid ise. Vaata kuidas lisada kontaktvormi.
Palju vorme, mida loovad mitte-arendajad sinu meeskonnasSisemine vormiehitaja
Vormid on osa sinu tootest (kliendid loovad vorme)Vormiehitaja koos kontodega, piirangute ja manustamisega
Peamiselt tahad küsitluse tulemusi ja diagrammeKüsitlusrakendus

Ehitaja on suurem projekt kui üks vorm, sest iga väljatüüp peab toimima redaktoris, avalikus vormis, valideerimises, salvestamisel, teavitustes ja eksportimises.

Mida vormiehitaja vajab

Vormi määratlused

Salvesta iga vorm väljade loendina struktureeritud andmetena (JSON Postgresi veerus sobib hästi). Väli võib välja näha nii:

  • id – stabiilne ID, mis ei muutu isegi siis, kui silt muutub
  • tüüp – tekst, e-post, number, pikk tekst, valik, märkeruut, kuupäev, fail
  • silt ja abitekst
  • kohustuslik, min / max, lubatud failitüübid
  • valikud valikväljade jaoks
  • järjekord ja valikuliselt tingimus („näita ainult siis, kui väli X on Y“)

Redaktor muudab seda loendit; avalik vorm loeb seda. Selles ongi kogu nipp: iga vormi jaoks pole vaja uut koodi.

Esitused

  • Esitused – vorm, vormi versioon, esitamise aeg, vastused välja ID järgi, staatus (uus, loetud, arhiveeritud).
  • Failid – üleslaaditud failid kuuluvad failisalvestusse, esitus hoiab ainult viidet; faili ei hoita andmebaasi reas.

Lehed

  • Vormide loend koos esituste arvuga.
  • Redaktor – väljade lisamine, ümberjärjestamine ja seadistamine, kõrval reaalajas eelvaade.
  • Seaded – kinnitussõnum või ümbersuunamine, teavituste e-kirjad, avamis- ja sulgemiskuupäevad, esituste piirang.
  • Avalik vorm oma lingil ja manustatav versioon teistele veebilehtedele.
  • Esituste tabel otsingu, staatuse, detailvaate ja CSV-eksportiga.

Otsused ja kompromissid

Versioonimine. Keegi muudab pärast 200 esitust „Telefoni“ nimeks „Mobiilinumber“. Kui vastused salvestatakse välja ID järgi ja iga esitus märgib vormi versiooni, kuvatakse vanad esitused endiselt õigesti. Ilma selleta läheb sinu andmestik vaikselt segamini.

Valideerimine toimub kaks korda. Kontrolli välju brauseris kiire tagasiside jaoks ja uuesti serveris, sest igaüks saab andmeid otse sinu lõpp-punkti saata. Oluline on serveri kontroll.

Failide üleslaadimine. See toob kaasa salvestusmaksumuse, suuruspiirangud, failitüübi kontrolli ja privaatsusküsimused (CV-d, isikut tõendavad dokumendid, meditsiinivormid). Piira tüüpe ja suurusi ning tee üleslaaditud failid vaikimisi privaatseks, loetavaks ainult vormi omanikele. Vaata kuidas lisada oma rakendusele failide üleslaadimist.

Teavitused. „Saada mulle e-kiri, kui keegi esitab vormi“ on oodatud funktsioon. See vajab e-posti teenusepakkujat ja API-võtit; vaata kuidas saata oma rakendusest e-kirju.

Spämm. Avalikku vormi leiavad robotid. Kasuta peidetud mesitusvälja (inimesele nähtamatu, robotid täidavad selle), IP-põhiseid päringupiiranguid, serveripoolset valideerimist ja vajadusel CAPTCHA-teenust.

Manustamine. iframe-manus on kõige lihtsam ja turvalisem viis vormi panna kellegi teise veebilehele. Skriptipõhine manus tundub loomulikum, kuid on raskem ehitada ja turvata.

Tingimuslik loogika. „Näita seda välja ainult siis, kui…“ on populaarne, kuid see kordab testimist mitmekordselt. Lisa see pärast põhitõdede kindlaksmääramist.

Esimene töötav viip

Ehita oma meeskonnale vormiehitaja veebirakendus. Sisseloginud kasutajad loovad vorme redaktoris koos reaalajas eelvaatega. Väljatüübid: lühike tekst, pikk tekst, e-post, number, kuupäev, üks valik, märkeruudud ja failide üleslaadimine. Igal väljal on stabiilne ID, silt, abitekst, kohustuslikkuse märge ja tüübipõhised reeglid (min/max, valikud, lubatud failitüübid ning 10 MB suuruspiirang). Salvesta vormi määratlus JSON-ina versiooninumbriga, mis suureneb iga avaldamisega. Igal vormil on avalik link ja iframe-manuse kood. Valideeri esitused serveris avaldatud versiooni järgi, salvesta vastused välja ID ja vormi versiooniga ning pane üleslaaditud failid privaatsesse failisalvestusse. Lisa peidetud mesitusväli ja IP-põhine päringupiirang. Vormi omanikud näevad esituste tabelit staatusega (uus, loetud, arhiveeritud), detailvaadet ja CSV-eksporti. Salvesta kõik andmebaasi. Tingimuslik loogika ja e-posti teavitused jäävad hilisemaks.

Ehitamise sammud

  1. Redaktor ja määratlus. Ehita vorm iga väljatüübiga ja vaata agendiga salvestatud JSON-i. Kas see on puhas ja stabiilne?
  2. Avalik vorm. Täida see telefonis. Kontrolli valideerimise teateid ja kinnituslehte.
  3. Serveripoolne valideerimine. Palu agendil saata serverisse esitus, mis rikub reegleid, möödudes lehest. See peaks olema tagasi lükatud.
  4. Versioonimine. Pärast mõnda esitust nimeta väljad ümber ja järjesta need uuesti. Vanad esitused peaksid ikka näitama õigeid vastuseid.
  5. Üleslaadimised. Proovi liiga suurt ja vale tüüpi faili. Veendu, et võõras ei saa üleslaaditud faili avada, arvates selle lingi.
  6. Esituste tabel ja eksport. Kontrolli CSV-eksporti koos komadega, reavahetuste ja täppidega tähtedega vastustes.
  7. Teavitused, manused, loogika. Lisa need ükshaaval.

Levinud vead

  • Vastuste salvestamine sildi järgi. Sildid muutuvad. Kasuta stabiilseid väljade ID-sid.
  • Ainult brauseripoolne valideerimine. See on mugavuse, mitte kaitse jaoks.
  • Avalikud üleslaaditud failid. Vormid kogutakse sageli dokumente, mida inimesed ei soovi avalikuks teha.
  • Puudub spämmikaitse. Avalik vorm võib mõne päevaga prügiga täitu.
  • Ehitaja ehitamine ühe vormi jaoks. Ehita vorm.
  • Piiramatu esituste arv avalikus tootes. Kui kliendid loovad vorme, sea paketi kohta limiidid, muidu võib üks populaarne vorm tõsta sinu hostingu arve.

Millal on valmistoode parem valik

Hostitud vormitööriistad on enamiku vajaduste jaoks suurepärased ja odavad. Need on juba lahendanud manustamise, spämmi, maksed, integratsioonid ja juurdepääsetavuse kümnete väljatüüpide jaoks. Kui su meeskond vajab lihtsalt vorme, kasuta üht neist – vaata Typeformi alternatiive ja Google Formsi alternatiive.

Ehita oma, kui esitused peavad elama koos sinu enda andmetega (toidavad CRM-i või kliendiportaali, mida käitad), kui pärast esitamist vajad töövooge, mida tööriistad ei oska, kui andmete asukoht või omand on nõue või kui vormid on toote funktsioon, mida müüd.

Ehitamine Mythexiga

Mythexis kirjeldad ehitajat vestluses ja testid redaktorit ning avalikku vormi kõrvuti elavas eelvaates. Mythex lisab vormide määratlustele ja esitustele eraldi andmebaasi ning lubab failisalvestuse automaatselt, kui rakendus vajab üleslaadimisi (Free-paketis piiratud 1 GB-ga). Teavituste e-kirjad lähevad läbi teenusepakkuja, kelle ühendad oma võtmega. Avalda rakendus mythex.ai lingi kaudu või Pro-paketis oma domeenil ning avalikud vormilingid töötavad sealt.

Küsimused

Kuidas vormiehitaja vorme salvestab?

Tavaliselt vormi määratlusena: väljade loendina, kus igal väljal on tüüp, silt, valideerimisreeglid ja järjekord, salvestatud struktureeritud andmetena, näiteks JSON-ina. Sama määratlus toidab nii redaktorit kui avalikku vormi, nii et uue välja lisamine ei nõua uut koodi.

Kuidas vormide vastuseid salvestada?

Salvesta iga esitus viitega vormi versioonile, mille alusel see tehti, ning vastused välja ID järgi. Nii ei katke väljade hilisem ümbernimetamine või ümberjärjestamine vanu vastuseid.

Kuidas peatada avalikul vormil spämmi?

Kombineeri peidetud mesitusväli (honeypot), päringute piiramine IP-aadressi kohta, serveripoolne valideerimine ning vajadusel CAPTCHA-teenus. Ära looda kunagi ainult brauseris tehtavatele kontrollidele.

Kas vajan täielikku vormiehitajat või piisab ühest vormist?

Kui vajad ühte või kahte kindlat vormi, ehita need otse – see on palju lihtsam. Vormiehitaja on väärt, kui mitte-tehnilised inimesed peavad koostama ja muutma paljusid vorme ilma arendajat küsimata.

Mythex · Pricing · Ehita kõike AI-ga · Veebilehtede ja rakenduste mallid · Mythex võrdluses · Tehisintellektiga rakenduste ehitamise sõnastik · Tasuta tööriistad tehisintellektiga rakenduste ehitamiseks · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)