Regi Heksa Ananda (2411533004)
Menginisialisasi aplikasi menggunakan struktur dasar StatelessWidget dan StatefulWidget untuk membentuk kerangka tampilan dengan AppBar dan Scaffold.
Menggunakan TextEditingController untuk mengambil dan menampung nilai input dari pengguna. Method dispose() digunakan untuk membersihkan inputan saat widget dihancurkan dari memori.
Menambahkan berbagai properti pada TextField, seperti decoration (label, hint, border, icon), menyambungkan controller yang sudah dibuat, menentukan tipe keyboard, serta menggunakan method onChanged sebagai event listener ketika terjadi proses pengetikan teks.
Mengimplementasikan logika pada ElevatedButton di dalam method onPressed. Teks yang tersimpan pada controller diambil nilainya dan ditampilkan kepada pengguna sebagai pesan sementara menggunakan widget SnackBar.
Tampilan output dari Basic Form TextField.
Struktur awal aplikasi untuk mengimplementasikan form validasi otomatis menggunakan widget TextFormField.
Deklarasi GlobalKey<FormState> yang berfungsi sebagai pengenal unik untuk mengakses dan mengelola status form, seperti status validasinya. Terdapat juga controller untuk nama dan email, method dispose(), dan fungsi _submitForm() yang akan memanggil method validate() untuk mengecek semua rule validasi yang ada. Jika lolos, akan menampilkan SnackBar kesuksesan.
Membungkus keseluruhan input dengan widget Form dan menautkan key ke _formKey. Pada setiap TextFormField didefinisikan properti validator untuk mengatur syarat keabsahan data, seperti tidak boleh kosong dan email harus memiliki karakter '@'.
Detail kode validasi field Nama yang akan mengembalikan pesan error 'Masukkan nama anda' jika nilai dikirim dalam keadaan null atau kosong.
Tombol Submit yang pada event onPressed diset untuk memanggil fungsi _submitForm untuk memvalidasi input secara kolektif.
Tampilan output dari Basic Form TextFormField.
File main.dart memuat dan merender UserRegistrationForm sebagai root widget di layar awal.
Implementasi dari stateful widget UserRegistrationForm. Kode ini menggunakan widget TextFormField untuk inputan, dan menggunakan method validator untuk validasi. Validasi yang diterapkan sesuai instruksi meliputi inputan email harus menggunakan format '@', serta inputan password dan confirm password harus sama. Method onPressed akan dipanggil ketika tombol dipencet dan mengeksekusi _submitForm.
Form tidak sesuai format/salah
Form sesuai format/berhasil