Friday, October 01, 2004

Struts Validator: ActionForm menjadi ValidatorForm

Menggunakan struts tanpa validasi cukup mudah, menggunakan framework validasinya Atruts ternyata memperudah pekerjaan. Tapi tunggu, saya dapat masalah ketika struts form-bean harus berubah dari subclass ActionForm mejadi subclass dari ValidatorForm atau ValidatorActionForm.

Saya biasa membuat property dari form-bean dengan variabel-variabel seperti Integer, Double, String, Long dan bahkan kadang-kadang menggunakan primitive variables. Semuanya tidak ada masalah. Jika suatu input karakter harus jadi null pada form-bean karena input tersebut di-set pada property form-bean yang bertipe Integer, saya cukup senang dengan hal itu. Setelah saya menggunakan validator framework, ternyata muncul masalah yaitu saya harus mengubah semua property form-bean saya menjadi String.

Hal ini karena validator akan menganggap input dari client adalah null jika input tidak match dengan tipe varibel form-bean. Misalnya kita membuat input "Foo" yang harus diset pada property "age" yang bertipe Integer, maka struts variabel "age" akan berisi null untuk kemudian dilakukan validasi. Tentu saja ini tidak bagus, karena dengan dua aturan validasi misalnya "varibel tersebut diperlukan (required)" dan "varibel tersebut harus integer" maka komentar error yang muncul adalah komentar required bukannya komentar error kesalahan tipe data.

Jadi validator framework perlu mendapatkan karakter input sesuai dengan input data dari client. Dan hal ini hanya dapat diperoleh jika 'semua' property pada form-bean bertipe String. Paling tidak semua property yang butuh divalidasi.

Do I miss something in Struts?

No comments:

Followers