Lompat ke konten utama
EP 65

Ngobrolin Form

Ringkasan Episode

Bantu Koreksi

Episode ini membahas secara mendalam tentang formulir (forms) dalam pengembangan web, yang ternyata jauh lebih kompleks dari yang terlihat. Diskusi dimulai dengan sejarah elemen form yang sudah ada sejak HTML era 90-an dan menjadi salah satu penanda transisi dari halaman web statis ke aplikasi web interaktif. Host membahas berbagai aspek form mulai dari dasar-dasar HTML form, method GET vs POST, berbagai tipe input yang tersedia (text, email, date, color, file, dll), hingga validasi baik di client-side maupun server-side. Episode ini juga menyinggung tentang integrasi dengan password manager, autocomplete, accessibility, dan security. Pembahasan meliputi payment form sebagai study case yang kompleks karena melibatkan banyak best practice, serta berbagai library form helper seperti Formik dan React Hook Form beserta validasi library seperti Zod yang bisa digunakan baik di frontend maupun backend.

Poin-poin Utama

  • Form adalah salah satu elemen HTML tertua yang menjadi penanda transisi dari web statis ke aplikasi web interaktif, memungkinkan user mengirim data ke server
  • Method GET mengirim data melalui query string di URL sementara POST mengirim data melalui body request untuk data yang sensitif
  • HTML menyediakan berbagai tipe input spesifik seperti email, date, color, number, file yang secara otomatis memberikan validasi dan UI yang sesuai di berbagai browser dan device
  • Validasi form terjadi di multiple layers: client-side (browser), client-side (JavaScript), server-side, dan database - masing-masing dengan tujuan berbeda
  • Browser modern memiliki built-in validation API yang bisa di-customize tanpa library tambahan, namun perlu hati-hati dengan error message browser yang mengikuti bahasa settingan browser
  • Payment form adalah study case yang kompleks karena melibatkan banyak best practice mulai dari meaningful HTML, proper autocomplete, input type selection, hingga mencegah multiple submissions
  • Library form helper seperti Formik, React Hook Form, dan validasi library seperti Zod membantu mengelola kompleksitas form, dengan Zod memiliki keunggulan bisa digunakan baik di frontend maupun backend dengan schema yang sama
Transkrip otomatis Bantu Koreksi

[Musik] haloi halo halo selamat malam semuanya Selamat malam Selamat hari Selasa seperti biasa hari Selasa

waktunya kita biasa ngobrolin [Musik] we gimana Kab Lumayan lumayan lumayan kompak lumayan Kom gimana kabarkabar teman-teman semua ya mudah-mudahan sehat

di sini sudah ada tiga orang yang hadir ada Ari Ar dan Yang komen baru ada lagi Tu ada lagi

Selamat malam halo hal selamat malam gimana musim-musim hujan nih ya kalau di Jakarta dan sekitarnya belum wacana doang e udah hujan sih cuma

enggak tiap hari terus pas lagi enggak hujan malah tambah panas gitu Oh iya biasanya gitu Enak dong kalau Jakarta

udah udah kebanjiran Iya banjir di mana-mana Bekasi gimana bekasiet Bekasi gimana Aman aman di sini ada yang dari

Bekasi Oh iya dari Bekasi ya Ya makanya itu I he he oke nah eh malam hari ini kita akan ngobrolin

tentang form formulir ya kalau bahasa Indonesianya formulir kan iya iya betul Heeh kan di e Masnya kalau dalam bahasa

Inggris kan mau yang fisik mau yang digital mau yang web atau na digital itu kan satu kata form tapi kalau kita

ngomong formulir tuh kebayangnya ya isian tangan isian tapi prinsipnya sama tapi Borang sama enggak sih Borang Hah

Borang Borang itu bahasa Borang itu form Malaysia ya no no bahasa Indonesia eh enggak ya Bahasa Indonesia kayaknya

eh bahasa Malaysia Oh Iyah bahasa Indonesia bahasa Indonesia Borang online Hah Serius bukan populir iya ya sear

search aja beneran aja formulir itu formulir itu formulir itu ya formulir Borang formas formulir ya Ini tuh jenis-jenis kata yang paling

Mas Ivan lanin doang yang ngerti kayak kalau kita orang awam yang bukan bahasawan tuh kayaknya enggak pernah

dengar ya Iya bahkan pakai yang unduh unggah aja masih jarang kan laring during eh apa daringuringinging uring Borang itu

formulir borang ya Iya tapi tapi kan bahasa Indonesia pun kita tetap lebih sering dengar formulir ya kita bahas

Borang Borang Borang itu bisa juga ranjau itu ada link KBBI Oh oke kita ngomongin tentang ranjau Enggaklah yang kedua

formulir borang ya oke e Today I learn ya he jadi formulirnya eh formulir bahasa Indonesianya formulir adalah

Borang Bahasa Indonesia baku ya variannya Keren juga itu kita bisa jadi proek kita Project kita lucu-lucuan itu

t Iya Today I learn bahasa Indonesia dong hari ini saya belajar Iya hib hari ini belajar hisb Hari ini saya belajar hib his eh

hib hisb hisb gimana ini developer P engak bisa ngeja iya keren tuh kalau kita bikin bikin aplikasi kecil kcilan hisisb kayak

What's in your mind tapi hari ini belajar apa typing Posting ke sosial media udah we bisa bisa

bisa yang di Bali lagi nih hidup Bagus Hidup bagus kalau yang gak nonton episode lalu bingung i jadi

bagus lagi ya ininya layoutnya Oke Eh kita akan belajar tentang Borang atau formulir atau form ya Eh form itu

eh susah-susah Gampang kalau bagi saya susahsah ya saya susah tapi kan kelihatannya paling basic e ah cuman

gitu doang kelihatannya ya kelihatannya ya di apa di atasnya apa surve ya Kelihatannya kok ya cuman itu ditambah

submit validasi sedikit-sedikit udah kan gitu Kalau misalnya yang gak apa baru belajar dan gak terlalu ngulik pasti gak

sadar Ada validasiasi forum betul ada yang di terus di serverennya juga divalidasi terus berhubungan sama database layernya juga harus

validasi ber [Musik] Oh iya banyak ya itu sebenarnya mungkin kalau misalnya nanti teman-teman ada yang apa bikin tes buat front kayaknya

bagus tuh ngetes apa kalau library doang atau apa kan Ya bisa dipelajar cuma form nuruh orang bikin form itu kayaknya tes

Lihat transkrip lengkap (444 segmen lagi)

yang cukup apa ya lengkap gitu kan eh apa tentang fundamentalnya htmlk HTML terus security kayaknya eh itu bisa jadi

materi tes yang bagus tuh kalau ada yang pengin bikin tes Sebentar lagi sebentar lagi ini kan sudah 2024 nih baru awal

tahun sudah sewaktunya lapor pajak online di DJP online ya silakan aja mengisi form mengisi form itu e Form apa namanya 17 eh Evin

Evin iya itu kan yang stepnya banyak form iya ah nomor nomor formnya kok gua lupa sih enggak perlu diingat kalau yang

penting lapor pajak aja Udah ya laporan tahunan pribadi itu apa sih 1770 Oh iya tu antara 1770 1771 ya Eh

kita kayaknya 1770 1770 aja atau 1770 S Nah itulah antara itu yang di pendatah ya itu jadi form itu terlihat

gampang Ternyata banyak perintilanintilan yang integrasi terut integrasi yang membuat dia menjadi semakin rumit makanya ada banyak atau

framewanak ya yangembantu kita mudah yang kita lihat di awal ya jadi ee mudah-mudahan nanti di ee apa di

episode kali ini kita akan lihat eh form dari yang mulai sederhana sampai yang apa sih Eh kerumitan Apa sih yang

eh terjadi eh dalam mengelola form ya mudah-mudahan kita bisa kupas tuntas malam hari ini dan kita mulai dari mana

nih dari kita mulai dari form itu apa form itu apa ah di sini ya elemen indek kalau

tem- form ini kelihatannya salah satu elemen html yang udah dari apa sejak html 4 ya 3 atau 4 ya pokoknya salah

satu elemen html yang tergolong tua l udah dari 90-an jadi emang E itu emang form adalah bisa dibilang tuh kayak salah satu

penanda dulu kan html cuma buat dokumen ya Fokusnya ke ee apa dokumen yang saling terhubung Heeh nah salah satu penandanya

tapi kan makin lama makin bergeser jadi ada unsur interaksi ya terus selain kalau dokumen kan dokumen file image

Teks itu kan kita membaca pasif nah form itu menandai kayak di dengan html nih kita bisa mengirim data ya kalau dulu

yang ngirim data ke server ya langsung dari formnya sekarang juga sekarang juga ke server tapi ya bisali S bisa server S

Nah jadi lanjut lanjut jadi form ini e memang apa ya Eh ini juga yang mungkin ya yang mungkin

e apa ya memantik hadirnya web yang sebelumnya Adah webage gitu hanya halaman webam dokumen web kemudian Akhirnya bisa

dimanfaatkan untuk aplikasi membuat aplikasi aplikasi kan identik dengan form ya mengambil input dari user Google ya search engine kan walaupun sekarang apa

produknya macam-macam kan berawal dari search engine search engine itu kan ya literally beneran cuma form satu input

apa t input apalagi misalnya ada Hiden juga dia ada banyak ya ya kayaknya semua aplikasi web pasti ada formnya ya Gmail

ada formin apapun yang ada loginnya ya Pak Iya i ada formnya dulu pertama kali ada sosmet apa ya Friendster ya orang

bisa kirim ya Selain ngisi profile kita sendiri bisa apa ya testimonial bisa kirim testimonial itu pakai ee form Oh sebelum itu malah ada

gasbook kan dulu dulu banget pas awal-awal formbook itu semua perlu form pokoknya Kelihatan gak ada ya aplikasi Apun yang

gak perlu form sama sekali bahkan blog statis pun apa makudnya blog blog atau artikel atau majalah publasi publication

ada searchnya kan sear ada komentarnya biasanya walaupun ya mung pakpti dan lain Ini adanya eh form eh form itu ada

eh beberapa metode yang bisa digunakan kalau eh tidak apa tidak kredensial bisa pakai get jadi ketika kita submit dia akan

nambahin query string ya di url he di url he tanda tanya bla bla bla bla bla bla terus kalau misalkan datanya harus

bersifat rahasia ya kita harus pakai metodya dan harus ada back end yang menerima kan ya Y yang memproses karena datanya akan

dikirimkan dalam kalau begitu teman-teman klik kalau form met post ini kan begitu diubmit Itu kan bentuknya Post dan

eh tipe tipe bodydnya itu x x form encoded encoded form form ya itulah anara Enggak di sini ya kayaknya ada di

bagian bawah Ya nantilah oke iya nah ini dulu jadi form itu kalau kosongan ya tetap enggak ada gunanya ya jadi minimal

punya apa punya input eh input atau select atau semacamnya nah yang belum pernah coba nih jadi kepikiran penasaran

kalau form Enggak ada button-nya tuh bisa enggak bisa kan ya kalau kita klik enter bisa kec klik enter kalau dia

sudah fokus ke sebuah ee sebuah input type ada di dalam kalau dienter atau apapun action action semacamnya submit

kan default behaviornya jadi browser udah cukup pintar untuk mendeteksi Eh kalau misalnya bukan kalau bukan di mobile mobile kan e ada itunya juga di

bawah di keyboardnya ada itunya ada kayak enternya masa bisa ya Ada enggak tahu ya Android sih ada enggak pernah pakai

iPhone tuh beda-beda per browser lagi ya kan e semua yang di web itu adalah spesifikasi eh spesifikasi e standar yang

menjabarkan Ini fungsinya begini gini gini expected behavinya gini gini gini masing-masing browser termasuk browser untuk masing-masing device eh apa

menginterpretasi loh mas Bang iya gak apaapa kita lanjut ajaana jangan Bik lag Nah itu pas balik pas ya Oke Eh ini udah

Terus gimana cara kerjanya ya ketika kita submit form browser akan ngecek e atribut-atribut formnya tadi kita sudah

sempat bahas get atau po cuman bisa dua ya Iya kalau Put sama dan lain-lain enggak bisa du swkit sempat ada masalah

kan nih gara-gara ini kayak ada di patching lah pokoknya intinya by default karena e jadi form ini ya ini kayaknya

salah satu kasus apa ya kayak tahu kan teknologi web yang lama yang kayak udahlah teranjur dibikin kayak gini itu

e jangan sampai ada breaking change Jadi sebetulnya kan bisa aja kan eh ngikutin apa hctp request type E request method

standar kan sekarang udah ada Put ada delete kenapa enggak ditambahin tapi emang ternyata itu adalah keputusan yang

emang udah gitu aja jadi get atau ya dan by default adalah get ya kalau kita gak ngisi metodnya apa dia ak

menadiitu ya kalau di url yang saat itu tempat kita yang sama yang lagi kita buka saat itu i jadi satu-satunya cara

untuk e bikin form memanfaatkan form tanpa backend hanya menggunakan metod get kalau harus Pak backend Ya baik

itunya E mau diverless atau di apa S service atau tempat lain itu bebas terserah harus ada pat yang dipanggil

Nah itu akan mengirim post request ke situ Entah itu namanya action kan form action kan atau e via button bisa kayak

gini ya saya baru tahu juga nih form the aneh belum pernah pakai Iya ini juga the bel dia itu kan kalau action-nya ke atas

itu kan misalnya kalau form action itu bisa ke pas yang mana Kalau buat form action-nya kalau memang mau beda pa

Oh ada mau ada mau save as pending kan ada save contonya ih the banget ini bisa Biasanya cuma pakai atribute action yang

di formnya aja terus di handnya di baah typnya submit kan button type submit Iya button type submit betul kalau ini

enggak ada tyak kalau enggak ada typ-nya by default dianggap submit nah ini ini gaca ini Apa jebakan Batman yang agak

nyebelin sih eh maksudnya kalau kita belum tahu ya Jadi kalau kosongan kayak gitu tuh makanya dicontoh itu kosong

karena button cancel Harus dibikin cancel Heeh apapun itu pokoknya kalau misalnya bukan submit harus button type sama dengan button karena Kalau kosong

itu eh di balik layar tuh default value-nya memang typ sama dengan submit nah dulu pernah nih pas belum tahu masih

sembarang pas tahu kan form tuh ada next previous-nya misalnya formnya displit jadi beberapa gitu He misalnya screen

sat cuma untuk nama sama apalah email terus next isi tanggal lahir validasi next nah Dulu gua pernah bikin nextpr

button-nya enggak dikasih type sama dengan button Iya bingung dah begitu klik next langsung submit Oh meskipun di

luar form Coba buka button enggak harus di dalam form Kalau di luar form ngapa-ngapain tapi kalau di luar form

tapi kebetulan parent Entah di mana ada parent yang jadi enggak harus direct parent gitu pokoknya ada parent yang eh

form elementen ya dia akan men-submit eh parent formnya itu nih to eler juga coba turun Scroll ke bawah selain form action

em terus terus terus ada form action ada form type bisa diubah jug coding type bisa kita rubah juga pakai

Iya itu by defult kan Ya terus kem jadi bisa kita kirim sebagai aplikasi Jon juga bisa dirubah dia akan mengoverride

si form eh tergantung bat yang di ya jadi Iya ternyata bisa begitu juga form no validate bisa terus lagi

turun F target g Oh bisa diatur semua dari Button ya ternyata mau ke diri sendiri atau buka eh Tab baru Tab baru atau

window baru ya Iya eh name standar pop over targetp mungkin bisa next next ini kita Wah ini ini kapan-kapan 10 tahun lagi

lah rilis pop over api terus next ada ini yang mau saya tunjukin satu lagi tipenya ini ni nih tipe kalau by default

tu submit kalau mau bikin cancel misalnya cancel tapi enggak dibikin misalnya cuma labelnya doang cancel itu submit loh

Harus dibikin tipenya riset Nah itu mau previousw next Apun itu kalau enggak ada type sama dengan bla bla bla dianggap sebagai submit oh g

ya ya ya ya Wow unless ada PR prent kalauudah pas bisa

diainan library ini vanil kita belum ngongbr makanya ini kelihatnya ter banyak yang bisa di ya banyak yang bisa

diulik ya ternyata ya tadi dari Button Nah kalau buttonnya di luar form dia tipenya button enggak ngapa-ngapain

enggak ngapa-ngapain enggak bisa ng enggak bisa enggak ada action apaap enggak m enggak mempengaruhi tempat lain ya Kita kan cuma bisa meng-capture event

dari Button itu sendiri cuma kan enggak mempengaruhi siapapun kalau di dalam form ini kan berarti mempengaruhi elemen

form di atasnya kan parent dan form itu bisa lebih dari satu di html tapi tidak bisa Bisa gak sih

n belum perah Oke I know Just asking bisa dicobaisaob Oke Nah untuk eventnya sendiri javascript event kalau

form itu dia adalah onubmit kan Ya I nama eventnya submit event tadi yang difing yang apa yang di

Trigger kalau tadi kita bahas kalaupun enggak ada tombol submit-nya enggak ada button submit-nya kalau user enter atau

apapun yang ekivalen lah tergantung device-nya ya eh pokoknya Eh ada shortcut-nya shortcut enter dan semacamnya itu eh event yang Trigger

event submit makanya itu penting buat kita eh kayak form ini kan elemen html yang semantik ya semantik html Padahal

kalau kita pakai client side library kan kalau kita pakai kayak r atau semacamnya kan e orang kadang ada yang malas ya

bikin elemen form bikin aja input-inputnya doang dikasih button to bakal dipreventault padahal itu bukan praktik yang bagus itu bukan good

practice karena ya itu kalau form itu udah banyak helperhelpernya kayak misalnya contohnya user ngtik enter itu langsung e nggger submit event dari form

itu ya i ya dulu ngalamin sih kalau waktu belajar itu Walaupun ada formnya tapi tetap yang Dit on

onas input masukin ke banyak gitu kan Terus habis itu kalau on submit baru dia submit ke e ke backend tapi kalau

misalkan cuman on apa misalkan on CH e di inputnya atau buttonnya on dia gakmit diult dan lain juga juga ngalamin Tapi

itu bukan prakk yang bagus ya Jadi kalau bukan pada tempatnya kalau bentuknya form yaah form karena ada banyak

e apa ya Kelebihan dibandingkan kita gak pakai itu harus manual semuanya ya Nah lanjut lanjut jadi tadi

iess Jadi kalau tadi kita sempat hanya

bisaanyaurow jadi dulu Oh iya yang tadi dibilangan ya Iya akan mengoverride apa menimpa si atribute action darinya sendiri submit

Itu bisa dua ya Bisa dua di satu form kalau memang mau beda Path Bisa jadi kayak tadi contohnya save as mungkin mau

kirim sesuatu save and send atau jugendinghnya Dra atau publish yang yang cukup umum cas-nya itu ya Oke Jadi gak

perlu hand pakai javascript contohnya gitu ya I itu bedanya Ya kalau the browser Add on form the

form Oh bisa on charet dan lain-lain Y nah autoomplit ini penting juga ya karena He kalau kita sekarang pada pakai password

manager ya iya iya jadi bisa eh bisa diisable kalau memang enggak enggak mau gitu by default Tapi ininya default-nya on ya

Heeh default-nya on default on nah show for tuh contohnya ada contonya dia ada Oh ad Sil diliat

send enter tadiah dibahas juga ya submit submit p to create a graphical submit button masih ada yang bikinicalit

button ya sekarang bisa bisa sering Iya bikin yang dulu zaman CSS belum Canggih kali ya Kelihatan button peel button Pill Oh iya

round Terus yang kayak ada efek kacakacanya gitu ya yang kayak ada efek terus juga ada input ty file untuk

upload file tapi jangan lupa ininya multiple kan Apa tipe formnya enggak multip itu multipart form data kalau enggak itu saya pernah Kena

dulu ini kok gak filenya diubmit kok gak bisa gitu kok engak kirim kosong di backend Oh iya lupa Nah bentar Scroll ke

atas dulu deh tadi kayaknya nya ada yang kelewat sedikit yang di tipsnya itu atas atas nah eh yang tips yang kalimat kedua tuh

don't disable the submit button while still awaiting valid user input Nah apa submit button ini eh juga ada seninya

ternyata buat ngdisable kalau yang paling yang default yang vanila ya Enggak usah diisable sama sekali kan by

default kan Eh misalnya kita enggak pakai javascript sama sekali ya udah submit button nyala terus tapi karena

ada kalau pakai manipulasi client S kan salah satu pattern yang ngetren kan kalau user belum ngelengkapin semua dan

belum valid itu submit buttonnya biasanya dimatiin dulu kan di greay out lah buat mengindikasi user belum bisa

submit karena belum dilengkapi Nah itu ternyata ada tipsnya gak tahu kenapa sih ini penjelasannyaux dari perspektif UX

mungkin ya ter ih lagi prosesisi userisi dari atas kan Ya misalnya ada feld pasti userield pertama dulu pasti samp berarti invalid

dong karena masih kosong nah Ternyata kalau kasusnya kayak gitu buttnya yaudah dibiarin aja tuh katanya janganable saya termasuk salah satu yang

salah kayak gitu Karen ya Karen desnya angitu ya Gak pernah mikir sampai situ sih Jadi intinyanya tetap bisa diklik sampai tapi

ada pesan validasinya mungkin ya belum lengkap harap lengkapi dulu tapi Nah ada lanjutannya nih kalau udah disubmit nah itu baru yang valid untuk

kita disable biar gak kliklik iya kalaulik kalah klik misalkan dia mau apa ya tiket War gitu kan W cepat-cepetan

gitu kan bisa masuk berapa puluh kali kepenceta kebeli lima kayak yang barusan itu kan barusan kasus di apa viral di Twitter apa tuh

kebeliak tuuh pop tuuh popm Via Via Via tiket kereta api Kalau enggak salah kalau enggak salah ya saya mungkin

salah wow tapi sebenarnya asal enggak enggak disiram enggak dibuka disiram air Enggak apa-apa sih NY disiram semua disiram

semua Oh disiapin semuain dia muncul bawa tapi gua enggak tahu kasusnya gimana mungkin formnya atau gua enggak tahu Jadi enggak enggak

tahu konteksnya tetapi cuma lihat hasilnya Maybe I'm wrong maybe ya Nah cuma di luar kasusi pop itu heeh ini

kalau batnya bisa terjadi kalau kita enggak disable bisa terjadi kepesan tujuh kali bias orang suka ya ada user biasa klik

suka double klik gitu atau Enggak sabaran ini sudah keklik belum ya lupa tadi kayaknya Belum keklik diklik lagi

gitu kan dan ini gak ada apa-apa klik lagi klik lagi klik lagi 10 iya bukan hanya di web juga ya di di

platform lain juga ini adalah ee ee apa eh praktik yang bagus juga yang bisa di ee harus di apa ya implementasi

Ya karena ya Kalau sekarang sih sudah gampang ya untuk membuat disable kalau udah diklik disable dan seterusnya nah

ini tadi kita sudah sampai di upload terus pastikan type-nya harus multipart e udah eh ada kuisnya Coba jawab

quisnya sudah benar Iya form data benar data dong bukan form file it isible to send user data without form no yes javpt bisa

pakai javascript tadi Dib klik e on button press enter yes pokoknya benar benar dua salah sat dua I dapat

apa cantik enggak Nah bisa ke link saya tuh input type contohnya input nah ini yang seru seru dan agak frustrating

terutama kalau udah dikombinasi sama autoit iya input type itu bermacam-macam kawan-kawan ada t yang paling umum ya Heeh kalau

ggak dikasih type itu e bisa muncul enggak sih diender engak sih g teks ya Ada checkbox itu juga tipe ya Iya ini F

input input kan inputut kan ada checkbox ada radio ada ada color bahkan ya ini baru ya kayaknya color Wah

colornya enggak kelihatan padahal udah dipencet Oh berarti dia buka di Winner Mas share Windows kan share Windows

bukan makudnya cuma share Windows I Oh itu ngeluarin na colorer Ya iya ada di Window terpisah Mari kita ganti ya

share screennya share entire screen ini tapi nanti jadi diimiz oh gak bisa Har disare dulu baru minimiz ini

ya Kelihatan gak wah jadi kita bisa ganti warnanya sekarang udah natif ya ini adalah web komponen contoh Web komponen ini juga

web komponen kalau dulu kita harus pakaibrary akhirnya itu Sen bang pas inii behavior ini berbeda loh antara

antara browser browser antara antara OS lebih tepatnya OS dan browser Iya browser di IOS kan ggak ada

browser lain Jadi ya Oh iya Apun browsernya enginnya tetap bawaan mereka berbeda Oke lebih tepatnya tiap browser

engine beda-beda behaviornya nah begitulah pernah keserimpet ya sering jadi sekarang tanpa library pun sudah bisa ada color picker udah

bisa date date time eh bahkan email email juga type ya e jadi bukan dia dia tetap teks tapi ada turunannya email

Jadi langsung divalidasi bahwa ini bukan email nanti ada validasi kursusnya sendiri enggak perlu buat regeks yang panjang-panjangnya minta

ampun panjang banget untuk ng udah enggak tahu nulisnya gimana ya Eh bacanya gimana Eh bentar cuma balik ke

dat nih penasaran kayaknya ee terakhir ngecek sih e semua browser maager udah support kan ya dulu tuh pernah punya

pengalaman unik eh ya itu input daytime cuma ngecek di yer lah Chrome Firefox Safari aja gak ingat dulu ngecek atau

enggak terus dulu tuh di mobile sempat ngetrend kan Browser yang gimicnya data saving kayak UC Browser UC

Mini browser antah berantah itu belum support in nah tapi lagi menariknya Apun yang di web itu kan emang biasanya kita apa

failknya kalau gak Dis yaakowing erorun dan secara visual tuh tetap dirender sebagai input dong jadi ituangh jadi gak langsungak langsunged

bahwa ada masal Mul tanggal tanggal dengan format yang benar ya Gak bakal kevalidasi Kanah itu itu menyebabkan bug yang lumayan unik

ternyata setelah diselidikin yaitu karena ada Browser yang ada apa layout engine yang belum menupport Terus di back otomatis ke t

tanpa tanpa UI Apa webonernya itu tapi untung sekarang Browser aneh-aneh yang kayak gituah punah ya browser engine yang Major Sekarang

semuanya udah support juga H Nah kalau kita kirimin datanya kita submit post gitu bentuknya kayak gimana date ini

string aja string kok sesuai sama ini ya 01/08/224 Ya Heh form itu kayaknya enggak bisa formatnya Bisa robah-robah

ya diubah-ubah bisa duluan bisa berubah i ya bisa kita ubah ada ada properti nya ya Di inputp-nya ya untuk localization

apa internationalization file juga berbeda-beda fungsinya per browser OS eh per OS yang kalau di mobile karena belum tentu bisa akses

file tertentu secara privasi Oke Hiden ada type ternyata ada type image ya Ini juga saya baru tahu

nih itu Al ada mon mon Oh baru tahu kalau ada Mon iya oh cuma ada bulan doang number standar lah ya number ada e

Nah kalau di di di mobile eh di mobile ini langsung n KPAD Heeh Oh iya i kalau

diklik dia muncul e number ya number only dan bahkan di mobile kalau kalau email pun eh munculnya juga keyboard ya

keyboard bisa ngetik cuma disesu buat email dan biasanya kalau kita pakai aplikasi ap password Manager itu ada

barnya sendiri buat e masukin login ada range Min dan susah bikin ini susahus

pakar yes yes itu Inut Oh wow gak perlu include delete icon Wah asik juga

gak usah bikin manual ya Iya telepon nah ini juga kalau di apa mobile ini harus pakai mobile kalau mau

tes Oh I ini ya oke standar time ini turunannya tadi date ada URL Ini juga baru tahu ni like

t but has validation parameter jadi kalau kita ngetiknya eh engak lengkap dia akan e komain beberapa beberapa keyboard di

Android dia bisa tiba-tiba eh bisa menampilkan langsung ada button yang langsung dcom ada tu keybnya apa ada I obsolitnya time obsolit ya

sudah enggak ada ya itu udah enggak ada karena sudah ganti sama udah ada date ya lengap ya enggak setelah ada dattime

lokal namanya nih maksudnya udah dipecah-pecah jadi eh itu semua kan ada yangnyaet ada bulan doang ada time doang

ada yang lokal ada yang standar yang default Oke lanjut ada lagi yang mau dibahas di sini ini atribut juga ada autoomplit nah

automplit ini bisa juga Eh diisable ya didisable ataupun bisa untuk membantu atau komplitnya si password Manager

he terintegrasi dengan aplikasi password Manager kitanya muncul gitu ya kalau dia Iya betul dan password Manager itu bisa

aplikasi eksternal bisa dari browser sendiri jadi kayak misalnya kalau Chrome Safari ya Gak tahu mungkin Firefox ada

juga atau enggak Nah itu dia bisa kasih suggest password yang kuat atau suggest pakai pas itu yang capture tuh juga menarik

tuh bisa langsung kasih di file langsung bisa munculin kamera Webcam Webcam web kamera juga bisa kalau permissionnya e

apa user udah allow ya berarti sebentar saya punya pertanyaan Kenapa namanya webcam web bisa dipakai di selain web gak bisa

kan kamera apas kamera harusnya berarti computer cam ya tapi kurang Iya ya Heeh Ini to [Tertawa]

i tadi kita sudahudah karena zaman dulu belum ada belum ada native native application yang pakai web pakai kamera

Oh video call khusus untuk web gitu ya Iya oke baiklah ngasal sih gua ini kan tebakan estimasi prediksi

ada di kalau mau dibaca Ini Acep misalkan file kita mau Acep hanya PNG sama gpack misalkan atau

video formangan per tapi

ternyata Biasanya kalau kita buka form itu kan kita berharap kita langsung ngetik kan maksudnya kan tapi ternyata di

beberapa form itu dia tidak nambahin jadi begitu kita buka sat halaman Yangnya harus k dulu Pak mous di elem

input pert untuk tapiudah nah cuma ini si autofokus nih ini kalau bukan sebagai respon dari user

event misalnya apa Eh beneran di Initial page load terus misalnya Emang ada yang ada form yang kita pengin user isi misalnya sign up

form lah jadi e ya Gak tahu ini beberapa tahun lalu gak tah sihgh Masih ng ini Atak jadi Eh bukan Bu bukan corwb

vitlesnya ya Lighthouse kan ada saran-saran tambahan yang kayak untuk UX Gitu dulu tuh Lighthouse ngasih warning kalau misalnya page Initial page load

ada input field yang diutofokus itu kayak dianggap kurang bagus untuk user experience salah satunya karena kalau di mobile kan kalau

misalnya ada autofokus tiba-tiba setengah layar keyboard kan Jadi maksudnya tanpa user tahunya tiba-tiba e langsung kursornya masuk ke

input karena autofokus dan tiba-tiba setengah layar tertutup dengan keyboard itu dianggap kurang bagus buat UX bagus tapi itu enggak masalah kalau misalnya

user udah ya udah ada interaksi Apun misalnya Scroll Scroll down pun gak apa-apa misalnya ngeklik Ada apa Scroll

ke bawah untuk mengisi form gitu misalnya terus kita hijack pakai apa eh javascript terus dikasih atribut autofokus ya itu enggak masalah pokoknya

eh e sebaiknya e jangan di jangan dipasang di inial page load aja oke sebelum kita lanjut ini ada

pertanyaan bagus sekali ini dari Krishna kalau input itu biasanya kan OS atau browser dependent ya tadi kan kita udah

sempat bahas juga sempat singgung juga kan kalau mau dibikin konsisten itu ada guidel-nya enggak belum bisa ya kalau pakai bawaan

browser sekarang justru guidelnya guidelnya tetap ada harus ada Al ituudah pasti itu fungsionalitas tapi ini UI pertanyaannya kalau UI

bisa beda-eda beda-beda bentuknya jadi susah juga Dibilang ya Iya dan bahkan copy tnya pun terserah masing-masing browser

jadi apa Eh kata-katanya misalnya apa eh email tidak valid itu ya wordingnya terserah masing-masing browser bahasanya sesuai bahasa yang yang dipilih user

untuk browser itu jadi kita enggak bisa mengevel customization-nya ya Dari dari sisi pandangan user ya dari sisi P user

mereka kan sudah menggunakan satu OS ya Jadi kalau memang mau pakai itu sudah terbiasa dengan UI itu jadi kalau kita

bikin sendiri yang konsisten dengan kita punya misalnya kita mau buat sendiri ui-nya kita sendiri yang sesuai dengan

semuanya sama konsisten semua ow jadi aneh karena mereka yang sudah pakai yang sebelumnya yang pakai standar loh kok

begini sih De inputnya Kok aneh sudah terbiasa natural di IOS kan dia pakai Scroll ada kayak Scroll dia kayak

jackpot itu kalau di di man Android kan Jadi kalau misalnya kita bikin konsisten jadi bing natural ya Nah cuma itu design

decision apa eh product decision ya Kis eh ya itu trade off aja Kayak misalnya airbnb kan dia punya web app punya apa n

app ya dia mereka bikin keputusan ya kan date pecker mereka khas banget kan sampai akhirnya library date library-nya

pun di open source Nah itu kan keputusan dari sudut pandang produk jadi Emang mereka membbypass bentuk itunya n apaer

timeckernya eh bawaan iOS atau Android dan lainlain betul jadi eh usernya jadi harus belajar lagi kurang familiar jadi

eh untuk setiap OS dan terutama untuk setiap OS ya untuk OS yang berbeda itu biasanya ada guidel masing-masing

Android seperti apa iOS Seperti apa kalaupun misalkan eh kita bikin E satu aplikasi yang sama untuk kedua OS Ini

ngomongin mobile ya belum ngomongin Windows e Linux dan lain-lain itu eh masing-masing OS itu ada gadnya walaupun

kita pakai R pakai flatter pokoknya pakai yang multiatform gitu ya itu tetap harus mengikuti guidelya si Apple sama

guidel si Google Android itu berbeda keletakan tab bar posisi back button e button ukurannya kayak gimana itu semua

udah diatur sama masing-masing OS jadi harus diikuti Wun kita bikinas bah jadi ya benar harus ngikutin cos-nya

jangan sampai begitu orang buka Iya memang konsisten untuk semua tapier harus belajar lagi kan jadi effortnya di

user gitu [Musik] kan Semoga e menjawabihanyaaganjut lagi lanjut ke manah

bagian eh eh cuma ini bawahnya komen tadi ada poin yang menarik sih tuh yang biar tetap keyboard

navigableable kan kalau bawaan apa ya tadi kan dibahas semua tuh dari segi apa UX terus masing-masing OS Nah ini nih e

apa ini kan hal yangis ya di luar front kelihat gak ada yang it eh orang yang sadar tentang hal ini bikin apa Bikin

custom De picker yang eh apa menerima tab event dan gampang dinavigasi pakai arrow pakai keyboard atau pakai berbagai

tool sulitnya minta ampun itu Mak itu e memakan tenaga dan waktu yang cukup besar sih jadi itu Maknya apa Kalaupun

kita mau bikin custom dengan berbagai pertimbangan itu hal yang harus dipikir di di depan jadi E itu tradeofnya saya

itu mahal lah mahal dalam arti ngetes eh apa mastiin tab dan event-event lainnya dideteksi dengan baik E ngqa itu

berjalan dengan baik semuaybelin sementara kalau dari browser itu gratis semua kita gak usah ngapa-ngapain ya udah e Build

in Oke selanjutnya kita tentang validation dulu dari validation validationide nih seru nih iya ya kita ke e payment and best

practice baru ke security terakhir kita ke frameworkfamework library dan Framework kalau untuk eh CL validation eh secara sejarahnya awalnya kan enggak

ada ya input juga typ-nya awalnya teks doang kan yang melakukan validasi adalah kita D Jav dan lainlain dulu banget pas semua masih

server Nah sekarang kita udah bisa menyatakan bahwa sebuah e input itu harus diisi terus mungkin formatnya bahkan sampai ke nomor telepon juga bisa

kita engak tahu nih nomor telepon yang di Indonesia bisa valid enggak ya e email password itu e ada aturannya password bisa di diset

ya di di klien ya ternyata ya bisa dan lain-lain kalau isinya kayaknya bisa pakai regex kok he dia terima regex

Oh langsung ya dari properti html-nya engak Peru jaw script ya Heeh baru tahu coba iya ngedeteksinya munculin errornya ya tetap pakai

javascript cuma validasinya udah fitur e web api itu bawa ow Dan ini juga kembali mengingatkan ya never CR

datver karena bisa aja meskipun kita ada require ada tnya password atau email atau nomor telepon kita bisa dengan

mudah klik kananp El re dihilangkanang jadi ada berapisapis valasi itu di apas web itu baiknya di client site

divalidasi di server site web app-nya divalidasi terus di sisi service misalnya apa di back end ya biasanya itu

apa best practice standar ya pasti dari mereka juga sanitize dan validasi juga tiga lapis jadi eh tipe-tipe CLI validation

bisa Build in yang dari form dari HTML langsung yang kayak requir terus tipenya gitu ya kalau misalkan kita mau tulis

nominal ya Tulis dalam e number walaupun dikirim tetap string Ya semua semua html form itu kirimannya hasilnya adalah

string walaupun number dia tetaping tapi ada interf send I terus juga bisa via javascript ini yang kita lakukan dulu ya

sebelum ada jadi kayak Wah gak boleh kosong harus ada isinya kita cek tuh Kalau valnya kosong ada warning pakai alertan

[Musik] Dah Nah ini requ l l terus ada typnya ada pattern Oh ini yang tadi ya regularpression

oke Dan kalau ada apa namanya ada kayak pop up gitu ya Iya langsung di bawah inputnya itu Wah enak banget kita engak usah

ngapa-ngapain langsung muncul tapi ya itu enggak bisa dicustomize suka-suka browsernya tampilannya G OS dan browser yang yang e mengatur itu ya Eh

stylingnya ya gak bisa kita ganti di CSS Oh enggak bisa kalau yang apa browser pop upnya Oke terusah tapi ngomongin CSS ini

inputnya ada sudo valid jadi apa kalau valid misalnya basa dikasih border biru atau hijau atau apah tinggal tambahin not valid jadi bisa

bikin berbeda ya Ada inval invalid invalid ada invalid Oh jadi kasih merah kalau invalid gitu ya wah enak sekali

kalau dulu kita manual ya nambahin kelasnya banyak sekali hari ini enggak usah pakai javascript pakai javascript aduh mantap

mantap mantap nah ini contohnya ya jadi adabelbel juga penting untuk ini juga p kena ada tulan di tulisan ini dia

akannya nah ini kalau misalkan kita klik dia langsung ini ada -nya dia akan langsung ee apa namanya kursornya langsung men fokus

fokus ke input yang ini harus sama sama ini ya Dan kalau error Oh enggak ada ya invalid loh invalid loh

hilang contoh macam apa ini Enggak ada requirednya enggak ada required Oh iya ya itu kan baru satu step dia ada step

selanjutnya Oh gitu Oh begitu ini tutorialeloper kalau ngasih contoh gua juga kalau bikin ngasih contoh kayak gini

sihah kalau udah ditulis hilang warnanya karena ini hanya menggunakan CSS ya CSS juga udah ini banget ya ah lengkap

ya submitting the form with value Oke kita coba ini beda tiap browser l browser bedopynya beda tampilannya beda terus

bahasanya sesuai ini bahasa Inggris karena browsernya settingan browser Mas berbahasa Inggris kadangh kalau orang kalau kita KJA di

protesh Eh misalnya apa situs kita bisa diakses dalam bahasa Indonesia dan Inggris user lagi buka bahasa Indonesia

tapi bisa aja kalau emang settingan browsernya bahasa Inggris Ya itu errornya tetap bahasa Inggris dan engak bisa diapa-apain Oke karena di level

browser jadi solusinya untuk itu apa kalau misalkan nih kita pengin bahasa Indonesia semu gitu tapi walaupun si

usernya tap bisa kok dih Nanti kayaknya di bawah ada deh contohnya tapi harus banyak javascript sih maksudnya bisa pakai vanilla

javascript e jadi kayak pesannya kita customize sendiri I kalau ini untuk contohnya untuk email ya biasanya ya

regek ya p Coba ketik deh itu hah ketik apa iya contoh kalau errornya gimana Heeh Apple Apple loh kok boleh submit submit

submit coba n nice coba banana banana coba canana canana enggak banana dulu oh Banana dulu biar Eh bisa we bisa kalau tadi kalau

salah cerianana b itu contoh untuk Rex ya constraint for length of your entries mean length dan Max length Ini

standar ya constraining the value of your entries eh number Terus apa lagi Eh udah ada legend legend ini untuk FS eh

radio apa radio ya Nah itu oh radio butternya sekarang udah lebih bagus ya Kalau dulu kan kayak jelek gitu makanya banyak

tergantung browser juga iya tergantung brower banyakknya diumpetin bin dibikin yang bagus gitu kan Ini tampilannya gini banget ya oh select nih

ya merah begitu email address tuh W langsung muncul ini ya apa namanya manpya kan ty email ya karena ada typ

email ya he using javascript kita bisa pakai javascript itu ada udah ada data typya sendiri Hmm

oke kemudian validation message-nya bisa kita eh tambahkan kalau kita misalkan tadi ya mau ganti basanya atau mau ganti

copywriting-nya ya ui-nya juga bisa kan kita bisa ngrender sendiri suka-suka Kita jadi pokoknya eh semua untuk customize itu pakai constraint

validation api itu oh ah web api-nya sudah ada ya berarti tidak butuh library tambahan kan langsung vanila ya langsung

udah Bisa pakai api ini ya implementing er Nah di sini Kanah ini Nah itu contohnya penjelasannya Oke lanjut ke pembahas itu

ada contonya ada contohnya itu lihat contonya dulu ini ya Nah bentuknya kayak gitu jadi ya kitanya kita cek validity-nya Jadi kayak

udah ada method buildin-nya type mismatch jadi ada apa jenis-jenis E value value apa aja yang bisa dicek udah ada tuh tadi di atas

bisa dilihat sendiri nanti Cuma yang jelas apa buat nge-customize isinya ya kayak gitu oke oke mantap Wah udah udah

enak banget ya zaman sekarang sudah enak sekali ini ada No validate no validate Ini adalah [Musik] untuk input valid inputnya ada requ ada

minimumnya Del Tapi karena Val jadi bisa langsung ditak ini ya langsung ke javascripnya ya

bertinyaak Yang error buildin browsernya enggak muncul kita hijack lah intinya di kita haack pakai javascript Nah itu kan

custom tuh ui-nya ada ada warna merah ada border rounded Bahasanya juga bisa disesuaiin sama yang Eh kita mau mungkin

bisa disesuaikan dengan eh desain sistemnya kita kali ya he Oke validating form without a Build in api ini kayaknya

Jav validation dan lainlain Silakan baca sendiri ya oke eh ada yang seru nih eh apa tadi berhubungan sama radio button kan tadi

kita bahas sekilas tuh radio button dulu bentuknya jelek eh maksudnya kurang kurang Oke warnanya juga suka-suka Browser dan kadang kan Engak sesuai sama

apa branding kita sendiri sekarang sudah ada e CSS properti aksen color Wow aksen color wah lucu pakai Twin juga udah ada Jadi

patokannya CSS udah apa udah e Stable di semua browser Tuh udah ada telwin e propertinya kalauwin udah ada artinya

yang defaultnya ada ya Eh yang yang bisa diustom tergantung entry yang diselect jadi kalau kita pencet e pilih mail

tetap hijau kalau gak salah enggak ya kuning oh gak ini ini customiz ya contoh contoh customization Oke tapi hovernya beda

loh hover tadi Kalau yang hijau hovernya lebih lebih gelap Oh itu dihle sama browser sendiri sih Coba klik

nahakya gelap oh karena ada kursornya coba kursornya pindahin I kannya bed di

brus k ada tapi tulisan Ken

gu kuning kalau misalnya apa bordernya enggak eh bukan warna yang Bold eh nanti kan jadi engakan enggak jelas Heeh

enggak kelihatan jadi otomatis di-handle sama browser kelihatannya Iya ini tulisannya coba aja buka De tools nih guaranteyingibility In case of low

contrast color Oh heeh betul betetul jadi kita misalnya yellow nih background-nya putih l kan e bakal kurang jelas ya gak kelihatan nah the

browser In this case the browser bright jadi kayak bisa brower dengan inisiatif inisiatif punya inisiatif UI kita lebih

akessib udah yangudah aman ya semua brower ada patokan gampangnya Udah masuk tailwin tapi kalau patokan formalnya enggak tahu udah masuk baseline udah

masuk baseline apa belum Ya udah ini aksen t aksen ini udah salah satu yang dipresen eh waktu baseline di launch di

Google io kemarin oke mantap Nah berikutnya kita akan bahas tentang payment Apa hubungannya payment sama form mau bayar harus form karena

semuanya semuanya semuanya butuh uang engak itu form itu semuanya ada mulai dari Wah kelihatan kan itu pattern

pattern boleh boleh kelihatan qu dulu dulu nah udah enggak kelihatan kan I ada pattern-nya ya kan Iya ada kard number

itu kan 44 eh apa 44 44 44 44 gitu kan loh ini kok enggak ada minusnya ya

engak otomatis ya gini kan gak tahu masingak gak [Musik] perlu kalauak usah Pak Nah benar Oh dia gak pakai minus

ya terus nama expiry datennya kan harus adanya security codya Ada patternya Terus bagaimana dia disubmit Bagaimana harus e e apa namanya respons yang harus

diberikan ini kan best practice ya Jadi kalau kita Scroll terus nanti ada addressnya lagiap add kan ada patternnya

ya masing-masing Dari sini ya terus kemudian Eh nantiah ini ceklistnya pakai meaningful html template form input label jangan bikin yang aneh-aneh lah

gitu ya label harus ada terus kemudianusah sebisa mungkin pakai ild in browser tipe dan Aut kena k tadi kan capek juga ya

masambil k sendiri typing sendiri padahal sudah masuk apa Pakai apa tpe ya saya pakainya one password otomatisplitnya beres kan Iya

benar terus ter e kalau kayaknya siit kan Jangan Pak input number karena bukan itu kan sebenarnya kan sebenarnya Tapi angka

semua kebetulanya Num jadi di hanya memberikan dia bukan integer jadi Cum numik terus turun

lagi disable sub button ketika di tadi ya Iya validated validate ini bahaya banget sih paling bahaya kalau Misnya keeklik

berkali-kali Iya nih juga penting nih validate data during entry jadi setelah selesai e saat entry kasih tahu kalau

salah jangan saat submit karena capek juga kan kalau udah isi panjang-panjang ya salah ke atas gitu H terus

ee terus turun lagi turun lagi format jadi jangan limit karena add formatnya kita Indonesia tapi formatnya gak bisa tuh kalau misalnya orang dari

singaporenya Pak t area untuk add disarankan ya Susah kan kita enggak hafal belum

tentu hafal kode pos kita sendiri terus dahah itu aja sih yang penting terus Tesnya di beberapa browser device

dan platform karena pastikan experience di beda-beda itu bukan disamakan pastikan experience-nya tidak terhambat dari tempatnya lebih jadi experience-nya

smooth di beberapa eh Browser dan device jadi balik ke user Story kali ya as a user I can bla bla bla Nah jadi walaupun

antar browser ke ua-nya lain-lain dikit eh atau mungkin pakai password Manager yang berbeda masing-masing user tapi pastiin user story-nya bisa jalan sampai

selesai y Oke E ini ada banyak penjelasannya per per per cheeklist ini ada ada ada penjelasannya di bawah nanti teman-teman

bisa baca Kenapa saya angkat ini karena payment form itu komplit ya banyak banget memakai patternpattern terus kemudian

best pracnya bisa dijadikan maksudnya kasusnya cukup komplit untuk bisa diambil sedikit-sedikit Kalau kalian bikin form sendiri yang lain

untuk case yang lain kalau mau belajar belajar dari bikin form payment setelah belajar bikin form payment form yang

lain udahudah gampang ya Iya karena yang paling rumit di situ ya betul banyak gak juga sih form form

pajak juga susah Mas itu kan duit berhubungan dengan pembayaran apal ngisi ngisi ngisi bukti potong Tuh kan banyak ya I

oke nah pembahasan terakhir kali ya terakhir tentang ee library ini kan kita udah Apa udah lihat betapa rumitnya karena itu kan

sebenarnya si formnya sendiri tidak rumit kalau hanya yang digunakan kalau hanya digunakan default basic terus engak basic sih maksudnya default aja gak

perlu ada customisasi terus hanya untuk e apa ya ininya apa form meodnya tapi kalau udah itu hubungannya

sama yang lain kalau misalkan kita mau kayak tadi kita mau ganti Seperti apa kita mau Setelah disubmit itu datanyamit ke datab ada

proses dari validasi Dili kirimin datanya sampai Kei teris itui divalidasi setelah berhasil divalidasi baru ke database di

database-nya biasa di orm-nya juga ada validasinya kan karena harus ngmapping harus memetakan antara tipe data yang ada di form dengan tipe data yang ada di

database belum tentu sama I kan database Lebih Detail kan Ya pasti kayak angka aja ada macam-macam angka ada

macam-macam kalau di javascript hanya ada number gitu kan kalau misalkan kita tadinya pakai floating e FL ya ya harus dip dulu

pass in passpot dan lain-lain eh teks eh apa banyak k ada atau apalah karakter-karakternya input bolean input

yang untuk l long enggak ada sih enggak ada ya belum ada ya location belumum Iya kalau Bu Lian misalkan di di input kan

enggak ada Boan ya ada checkbo tapi kan hasilnya kan value-nya kan male female atau true itu checkbo ituup Radi Radi eh

checkbox itu kalau diek isinya string juga kalau gak [Tepuk tangan] salahek it belum pokoknya semua yang apa semua yang

di html itu kirimannya string gak ada tipe data lain Jadi itu harus di apa namanya dikelompokkan lagi Oh ini number

ini string ini e apa bolean dan lain-lain diconvert lagi dikonversi lagi baru masuk ke database gitu makanya ada beberapa form

e helper ya atau library Seperti contohnya ada formic nah ini formic cukup terkenal jugait sekarang favorit ya masih favorit

ya masih favorit ini ada formic terus ada apaagi react H form kita lihat cara

moasinya ya Silakan baca sendiri Ini dia yang bikik k terus Cara pakainya gimana inst pastinya terus ini

dia ini Oh validate bisa langsung ditaruh di sini karena ini react jadi jadi satu atau bisa mau dipisah juga bo Ya

silakan Terus kalau emailnya enggak ada dia bisa require Oh ini manual ya Terus kalau misalkan e value-nya ada dia akan

melakukan validasi bahwa Emailnya sudah Val atau belum Kalau tidak berhasil dia akan pesan merurn pesan error

kok jadi rumit ya ini baru bagian formnya Ya semua kebutuhan apa CLI side masuk situ semua ya Jadi emang jadi

panjang tapi e semua kita ngurus di satu tempat Iya termasuk error messageennya ini kita ggak perlu ngurusin Oh ini

harus di mana Di posisinya udah bisa kita taruh di mana aja yang kita mau dan lain-lain itu contohnya contoh kedua di

sini ada react formnya kayak gimana Oh ini video ya Oh ada buat react native juga ya contohnya

mana getting started-nya Enggak ada oh demo eh salah ini ya bukan Iya nah tuh example itu loh di baah ada menu look di

bawah discroll di menu nah agak Kirain mau nyoba demonya tadi tadi ada contoh langsung eh mau lihat kodenya mau lihat

kodenya Eh ini standar ya dan dia langsung on submit handle submit hand submitnya mana Oh ini namanya Apun dimasukin ke H

terusut register example registernya Apa itu itu method juga berarti udah banyak banget hel dia bikin helper banyak

nih POnya POnya library dia adalah helpernya register ini Gunanya buat apa ya Ada yang tahu gak ada yang

Pak dia Itu helpernya dia oh Iya mau saya bu registeron nama ya name ya He name name

ya untuk ngeregisternya bikin helper kalau input itu adalah first name input select itu adalah gender nah dia

otomatis ngrender kayak ada eh label atau apa yang kayak id-id-nya semua dari situ dari yang dari nama yang kita

masukin first name gender berdasarkannya eh dua-dua library ini atau beberapa library ini hanya eh untuk di client site aja atau ada gabung

ke backend juga Oh tergantung jug perah Belum pernah coba sih kalau ini karena pakai react Hook Ya jelas buat di apa

front end doang C side kalau kalau spell kit baru buat eh backend juga ya Jadi biasanya kalau di backend itu ada eh

entah dia menggunakan ee m orm server atauver ada yang namanya zot kalau enggak salah ya dulu ya Eh itu untuk

validasi itu kan bukan kalau zot itu kelihatannya bukan khusus buat form tapi untuk mvalidasi Heeh kita punya skema Ya

udah kita terima data dari form atau dari Apun bisa divalidasi pakai Z Wi introduction langsung biar boleh boleh boleh banyak lagi kita

harus Scroll ke bawah ya Oh iya ini untuk memvalidasi apakah eh e data yang kita kirimin mungkin

dalam bentuk json itu e valid enggak untuk dikirim ke database Gitu ya kira-kira Gitu ya Apun dikirim diterima

jadi kayak misalnya eppt kan sebenarnyappt itu kan kita kita enggak bisa ngandalin typ script pas lagi udah

jalan kan karena kita enggak tahu kan datanya beneran ngikut kayak gitu atau ee maksudnya betul sesuai atau enggak

jadi misalnya kita terima data kita bisa ngecek pakai zot juga mau kirim data nerima data zot itu ya agak agnostik

dalam hal Maksudnya dia enggak peduli datanya dari mana dan untuk apa Jadi selain form ya bisa buat Apun yang

pengin kita pastikan bentuknya kayaknya itu ada pluginnya deh eh apa Z kalau by default kita nulis skemanya di dalam zot Nah itu apa harus

string misalnya tapi ada semacam plugin jadi kita tinggal ngasih typript e interface atau type aja e jadi dari

pluginnya iya oke oke Wah menarik ya terus habis itu baru dilempar ke database at kalau Kay Prisma

gituak ya ada di Oh Engak enggak validasi form sih Ya pokoknya kalau kita ngirim data ke Prisma datanya salah ya

dia gak jalan dia throw eror Oh error gitu ya Heeh Ya itu kan PR sebenarnya apa inacce bisa kita pakai ya kita catch

aja errornya kita pakai buat display e apa error validasinya kalau mau Wah ini ada yang udah pakai nih kalau

si juga ada validation eh form validation ininya juga kan validation ada ada ada kayaknya ada classas lebih tepatnyaation class Hm Oh

iya bisa di-custom juga pesan itunya apa error message-nya pernah pakai oke eh z ini menarik nih dia apa Eh dia

enggak si zot-nya itu apa headless ya mak saya apa enggak bisa jalan di client side bisa jalan di server side B jalan

Iya ini nih ee Mas Nyoman dari Bali dari Bali validasi Diend saya pakai validasi di front end bisa pakai zot schema juga

untuk front end untuk validasi di react Hook form Oh bisa dikonektin ke Hook form ya terus di back end validasi lagi

pakai zot skema yang sama Oh Jadi satu skema bisa dipakai untuk dua ya i i Heeh kita bikinnya sekali suotnya sendiri

S bisa jalan di klien Oh oke i jadi eh selling point terbesarnya kayaknya itu kalau buat saya ya si zot ini jadi kita

bikin satu eh skima bisa dipakai di front end bisa dipakai di back end jadi datanya lebih eh apa namanya

eh sudah konsisten lah konsisten konsisten jadi sudahah sama l gu anggapannya Harapan ini cuma buat validasinya doang jadi enggak berurusan

sama UI formnya sendiri Makanya tetap dicombine sama itu tadi contohnya kan dikomin sama form atau Apun atau form

atau yang lain ya he bahasanya Run any Java banget itu Java banget oke nah Ini ada pertanyaan tapi o

mau dijawab atau kita lempar ke aja jawab ajaung mungkin detailnya kalau masih P panjangub ya Seru nih pengin tahu juga

soalnya goalsnya bisa bikin custom block sama template roadmap ya ya pertama roadmap belajar atau roadmap developer wordpressnya sendiri eh development

wordpressnya sendiri di Iya di WordPress itu sudah ada eadap sendiri Iya sudah ada road tinggal buka

learn.wordpress.com Nah itu sudah ada banyaks banyak coursessesnya di sana sebagian sudah [Musik]

diranslatepr wordpress.com/arn DII iya udah eh dia dia diredirect ke situ redir sor Sori dorg lebih tepatnya kalauc itu

untuk eh [Musik] learn.wordpress.org nah saya Bahasa Indonesia itu ini sebagian besar sudah

dianslate oleh komunitas jadi Sudah bisa belajar mulai dari Oke ee tapi enggak ada roadnya ini ada ini corses semua

tutorial corses semua ini courses harus diikutin satesuatu gitu mulai dari mana Kalau baru ya urut aja lah seris woh

kalau kalau udah bisa di skip Komo contributoir ke WordPress ada ada tutorial ada ee ada eh series ya series series mana

Iya Ikut yang coursesnya coursesnya kan sudah ada nah ini mau yang general silakan okeasihlah mulai dari sini supaya lebih

supaya lebih Jaa ee setelah belajar tertarik dan terjemahkan jadi teman-teman yang lain bisa ikut terbantu Oh ini ada yang

bahasa Oh ada sudah sudah sebagian sebagian kalau sudah ada ada yang EE itu languageanti oh lengkap tuh

Ee kalau sudah ada yang bahasa Indonesia nanti dia ini e oh sudah ada pengenalan situs pengenalan editor situs dan

template Wih dashboard tuh bahasa Indonesianya dashboard ya dashbard he dasb silakan dari sini mulainya ya dan

bikin situs sendiri terus kemudian coba ikutin kursesnya bikin situs sendiri dan ikut komunitas pamerkan pamerkan dan ikut komunitas

ke ada web challenge nih di tanggal 27 sekalian promo ya web challengya web untuk ngobrolin web Iya

ini mah minta dibikin linknya itu e beneran dari event dari WordPress Eh ini official ya dari WordPress

official Jakarta ya yang bikin komunitas Jakarta non apa namanya nonkersil bahasanya apa sih bahasanya non komersial ya

nonkersial I ini C ini kayak skalanya C tapi ini namanya next gen next I makud dan kebetulan di sini adalah web

challenge Ya silakan belajar terus ikut web challeng presentasikan iya iya password nah Jes nih siapa judesnya loh gak adaan kirain ada enggak Ian

direkturnya saya nanti yang membawakan bagian workshopnya oh [Musik] seru ya Seru ya ada beginian ya Ini buat

apa buat motivasi untuk belajar bagus ya betul keren Keren keren Oke Oke Oke semoga Cukup jelas ya Siapa tadi Bu

kalau mau ketemu saya tanggal 27 Januari nanti ada di sana ini acaranya di mana di Jakarta di Taman Ismail

Marzuki tanggal 27 itu harib Sabtu oke Ada lagi sebelum kita udahan udah itu dulu

edisi nih besok-besok yang khusus bahas di Meta Framework sama libraryarnya tapi kayaknya panjang nanti jadinya adaih ada per dibah

kayurity masih forum edisi du kapan-kapan area apa kayak area error bla bla bla belum web outen Arya invalid

weben Iya banyak kan bisa jadi bisa jadi tiga episode ini kayak iceboard kan yang kita sering pakai di atasnya doang tapi

dalam-dalamnya masih banyak Iya dikira gampang Ternyata ngomongin form aja Sudah hampir 1 Seteng jam ya I terus

Biasanya kalau apa eh kita kerja di tim eh desainernya pasti cuma bikin eh apa ya bukan pasti kemungkinan bikin font

yang happy part doang validasi bentuknya kayak gimana juga belum tentu eh dibikinin kan jadi Biasanya kita harus

improve send kadang label posisi dia suka misalnya gini e dia bikin dua kolom I kan tetapi labelnya dibikin pas-pasan

tapi kalau misalnya di Translate jadinya tambah panjang terus gimana bentuk Oh I kalau ada validation message Enggak muat

Enggak pasti pasti enggak e pasti banyak yang enggak mikir sampai sana sih Iya jadi ada eh apa namanya secara UI I itu

tugas kita yang apa ngasih awareness maksudnya karena kan emang ini ya ini tanggung jawab kita jadi kita yang harus

educate Mas di tiketnya atau pas lagi Eh apa bagi tugas ya kita bilang kalau form tu perlu giniini

gini i i Iya mungkin pertanya kalau mau form itu perlu gini-gini sudah ada best practisnya di mana gitu bisa dilihat gak

ada yang bikin standar atau I payment best kan sudah saya kasih tuh payment tapi secara general mungkinl terlalu subjektif kali ya

maksudnya form itu kan ya itu tadi mau bikin komen mau search engine mau ngepost status semua pakai form terlalu

luas mungk What on your mind contohnya on my mindulu ya Facebook Ya itu kan Facebook Heeh itu apa ionic

banget kan What on your mind kalau Twitter apa X gak tahu gak tahu kalau Twitter tulisannya by default apa gak adaer Eh

kita kita bahkan belum bahas apa select elemen ya tadi sempat ngelihat tapi ya E cuman sekilas banget ya besok-besokah episode

du Lumayan lumayan tricky juga tuh select elemen karena kan eh terutama misalkan kita eh pilih Terus kalau kita submit terus

submitnya error errornya di tempat lain atau di situ juga itu kan yang pilihannya Kan balik lagi ke nol kan

balik lagi ke default paling atas kan harus di apa ya Kalau dulu kan harus di ada logikanya if ini ya masukin yang

sini kan kalau pakai backend atau kayak PSP yang bahasa backend gitu kayadiudah diudah dihle yaudah

otomatis ada ada apa areaadi gar-ara are terus kayak ada seni-seninya eh ada sih best practi-nya kayak placeholder

sama atau hint jadi makudnya teks keterangan yang hint itu katanya enggak boleh ditaruh sebagai placeholder I besok-besoklah detailnya

H kalau Twitter pakainya What's happening What is happening oh oh iya karena Twitter itu kayak positioningnya buat update terbaru ya kalau Facebook

buat curhat curhat oke oke oke oke kalau begitu mungkin untuk malam hari ini Sekian dulu terima kasih banyak buat semuanya yang sudah

nonton dan sudah berdiskusi malam hari ini jangan lupa kalau ada yang mau diskusi lebih lanjut bisa ke keesana.in/

ngobrolin di sana ada github repo klik aja discussion terus nanti bisa eh kita buka aja ya.com ngobrolin ter terus di sini ada

discusion nah ini kita bisa minta request mau bahas apa contohnya sini ada Inter 2024 ada dokumentasi form malam ini ada monoro

bisa diote kalau yang udah login bisa Diot terus juga mau submit misalkan tadi mau lanjut pertanyaannya tentang roadmap

WordPress bisa diskusi lagi di situ e kalau mau showas juga juga Boleh silakan pilih aja kategorinya yang mana pada

saat ee input form nah ngisi form di sini untuk form masukin diskusinya untuk subit diskusinya ya jadi itu di atas ada searb

itu juga form juga form dan yang apa topik terhangat sejauh ini masih webscket ya Yang Belum Yang

belum kita bahas ee Ee kita usahakan coba cari apa Eh Topik yang cocok atau narasumber yang sesuai

mudah-mudahan beliau mau diundang ke acara kita malam hari ini Oke ee Sekian dulu terima kasih banyak e Sekali lagi

selamat malam sampai jumpa lagi Selasa depan jam 00 malam sampai jumpa bye bye bye than

Deskripsi asli dari YouTube

Yuk mari kita diskusi dan ngobrol ngalor-ngidul tentang dunia web. Agar tetap up-to-date dengan teknologi web terkini. Topik, tautan dan pertanyaan menarik bisa dilayangkan ke https://ksana.in/ngobrolinweb Kunjungi https://ngobrol.in untuk catatan, tautan dan informasi topik lainnya.

Episode Terkait

Bagikan:

Suka episode ini?

Episode baru setiap Selasa malam. Dengarkan lewat YouTube, Spotify, atau feed podcast favoritmu.

Pilih Cara Langganan

Memuat komentar dari GitHub Discussions...

Jika komentar tidak muncul karena ekstensi privasi / adblocker, kamu bisa berdiskusi langsung di GitHub Discussions .