Tablomuzda kayıt ekleme yahut güncelleme anında mutlaka doldurulması gereken alanlar olabilir.

Giriş

Rails tümleşik bir geliştirme ortamıdır. Yazılımın bölümleri arasında ki düzeni siz belirttiğiniz sürece otomatik olarak sağlayabilir.

ActiveRecord modülü gerekli alanların kontrolünü yapmak için bizlere oldukça geniş imkanlar sunar.

Avi formatında, yüksek çözünürlüklü ekran görüntüsüne ulaşabilirsiniz.

validate fonksiyonu

ActiveRecord sınıfı ve buna ait alt sınıflar “validate” fonksiyonuna sahiptir. Bu fonksiyonu yeniden yazarak kendimize göre özelleştirebiliriz.

validate fonksiyonu her kayıt öncesinde çalışır.

class Mesaj < ActiveRecord::Base
 
 
# ...
 
# ...  
 
 
protected
   
def validate
     
errors.add(:isim, "Aynı isimle daha önce mesaj yazılmış") if isim_kontrol(isim)
     
errors.add(:soyisim, "Boş bırakılamaz") if soyisim.empty?
   
end
 
end

Bazı kontrollerin sadece yeni bir kayıt anında yapılmasını ya da bazılarının sadece güncelleme anında yapılmasını isteyebiliriz.

validate_on_create & validate_on_update

Yalnızca yeni kayıt anında kontrol yapılmasını istiyorsak “validate_on_create” fonksiyonunu yeniden yazabiliriz. Aynı biçimde, yalnızca güncelleme anlarında kontrol için de “validate_on_update” fonksiyonunu yeniden yazabiliriz.

Hazır Denetleme Fonksiyonları

Rails, genel denetlemeler için bize hazır fonksiyonlar sunmuştur.

  • Alanın mutlak doluluğunu kontrol etmek için: validates_presence_of
    Örnek kullanım: validates_presence_of :isim
  • İçeriğin belirli formata uyma zorunluşuğı: validates_format_of
    Örnek kullanım: validates_format_of :email, :with => /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/i
  • İçeriğin uzunluğunun kontrolü: validates_length_of
    Örnek kullanım: validates_length_of :isim, :maximum=>30
  • İçeriğin sayısallığının kontrolü: validates_numericality_of
    Örnek kullanım: validates_numericality_of :oy, :only_integer => true
  • İçeriğin kayda özel olmasının kontrolü: validates_uniqueness_of
    Örnek kullanım: validates_uniqueness_of :isim, :on => :create

Sunum

Makaleye ait sunumu izleyerek örneklerin çalışmasını ve detaylı kullanımını görebilirsiniz.

Avi formatında, yüksek çözünürlüklü ekran görüntüsüne ulaşabilirsiniz.

Bu yüzyılın tabiri her ne kadar hiçbir zaman gerçeği yansıtmasa da slideshare’de yüzyılsal olaylardar biri imiş. Verdim odp dosyasını flasha çevirdi ve bunu yapmak için 10 sn. de kayıt olup, 10 sn. de dosyayı attım, 20sn. süremi aldı. Kullanım kolaylığı budur.

Seminer Dosyaları    05/05/07

Sayfada yayımlanan yazılar aksi belirtmedildiği sürece Murat Arif Çeliker'e aittir. Yorumlar, yorumu yapan kullanıcıların kendi görüşleridir.
açılış - deneyhane - tasarılar - hakkımda - iletişim -

Sitede altyapı olarak Wordpress kullanılmıştır.