Rails Active Record Validation

alfa6661
- December 18, 2015
0 (0 votes)
Rate :
Penggunaan validasi pada active record ruby on rails

Pada artikel Rails generate CRUD sebelumnya, telah dipaparkan bagaimana menggenerate proses CRUD pada Ruby On Rails. Hasil generate dari rails tentu saja masih dalam keadaan minimal dan sederhana. Salah satu contohnya, jika kita melakukan submit form pada halaman create tanpa mengisi inputan yang ada, data akan lolos dan tersimpan di database.

Validasi digunakan untuk memastikan bahwa hanya data yang valid yang dapat disimpan ke dalam database. Sebagai contoh, kita perlu untuk memastikan bahwa setiap pengguna mengisi kolom nama. Validasi pada tingkat model adalah cara terbaik untuk memastikan bahwa hanya data yang valid disimpan ke dalam database. Rails membuat proses validasi mudah digunakan karena menyediakan validasi built-in untuk kebutuhan umum.

Ada banyak validasi built-in yang di sediakan oleh rails, kali ini kita akan membahas beberapa validasi saja. untuk lebih lengkapnya silahkan masuk ke halaman validasi rails.

Contoh

Kita akan mengambil kasus pada artikel sebelumnya. Aplikasi perlu memvalidasi agar memastikan pengguna tidak mengabaikan input nama. Tambahkan kode berikut ini pada model customer.

validates :name, :presence => true

validasi presence memastikan input yang diberikan tidak kosong. Selanjutnya lakukan uji coba pada halaman create.

Multiple attribute pada validasi

Untuk menambahkan lebih dari 1 attribute pada validasi, kita bisa memisahkan attribute-attribute yang akan divalidasi dengan koma (,)

validates :name, :address, :presence => true

Validasi minimum karakter

Untuk memastikan input yang diberikan melebihi minimum karakter yang diijinkan, gunakan validasi length.

validates :name, length: { minimum: 3 }

Kode di atas akan memvalidasi input name dengan minimum karakter 3.

Validasi format hanya huruf

Kasus selanjutnya, kita perlu untuk memeriksa input name hanya boleh di isi dengan huruf. Untuk melakukannya kita perlu menggunakan validasi format dan berikan regular expression untuk memeriksa hanya huruf yang diinput.

validates :name, format: { with: /\A[a-zA-Z\s]+\z/, message: "only allows letters" }

Computer science education cannot make anybody an expert programmer any more than studying brushes and pigment can make somebody an expert painter

– Eric S. Raymond

Have a better explanation?

If you have comments about this post. Please write your comments below

No comments associated with this article