Ngobrolin Form
Ringkasan Episode
Bantu KoreksiEpisode 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
[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
3 Jul 2024
Ngobrolin Elixir
Episode ini membahas tentang Elixir, bahasa pemrograman fungsional yang berjalan di BEAM (Erlang Virtual Machine), bersa...
3 Mei 2023
Ngobrolin Accessibility
Aksesibilitas dibahas berangkat dari satu kekeliruan yang sering kita lakukan: menganggap pengguna kita sama seperti kit...
11 Mar 2026
Ngobrolin Otorisasi
Episode ini membahas otorisasi (authorization) dan bagaimana ia berbeda dari otentikasi yang pernah dibahas di episode s...
Suka episode ini?
Episode baru setiap Selasa malam. Dengarkan lewat YouTube, Spotify, atau feed podcast favoritmu.
Memuat komentar dari GitHub Discussions...
Jika komentar tidak muncul karena ekstensi privasi / adblocker, kamu bisa berdiskusi langsung di GitHub Discussions .