Güvenli bir site yaparken dikkat etmemiz gereken en önemli noktalardan biri de kullanıcı girişlerini kontrol etmek ve doğrulamak. Her kullanıcının masum ve iyi niyetli olmadığını düşünerek sitemizi geliştirmeliyiz.Aslında zor gibi görünen bu yöntemleri CakePHP ile çok kolay yapabiliyoruz. Modelleri tanımlarken $validate isminde bir değişken tanımlayıp gerekli kuralları orada belirtiyoruz.var $validate = array(‘alanAdi’ => array(‘rule’ => ‘kuralIsmi’,’required’ => true,’allowEmpty’ => false,’on’ => ‘create’,’message’ => ‘Hata Mesajı’)); Şeklinde belirtiyoruz. Buradaki ‘rule’ parametresinin karşısına istediğimiz kuralı girebiliyoruz. Bunlardan bazıları:
alphaNumeric
Girilen değerin sadece harfler ve rakamlardan oluşması gerekir. Aksi takdirde message parametresiyle belirtilen hata mesajı alınır. var $validate = array(‘kullanici_adi’ => array(‘rule’ => ‘alphaNumeric’,’message’ => ‘Sadece harfler ve rakamlar kullanılabilir.’)); Buradaki message parametresi ile kullanıcını veriyi hatalı girmesi sonucu göreceği mesajı yazıyoruz.
between
Girilen değerin karakter sayısının hangi aralıkta olacağı belirlenir.var $validate = array(‘password’ => array(‘rule’ => array(‘between’, 6, 20),’message’ => ”Şifreniz en az 6 en fazla 20 karakter olmalı”)); date
Girilen değerin belirttiğimiz bir formatta bir tarih olmak zorundadır.var $validate = array(‘kayit_yili’ => array(‘rule’ => ‘date’,’message’ => ‘YY-MM-DD formatında bir tarih girin.’,’allowEmpty’ => true)); allowEmpty parametresi true olduğu zaman bu kısım boş bırakilabilir demektir.
email
Girilen değerin bir eposta adresi olmak zorundadır.var $validate = array(’email’ => array(‘rule’ => array(’email’, true),’message’ => ‘Lütfen doğru e-posta adresi girin.’)); extension
Belirtilen bir dosyanın hangi uzantıda olacağını belirleriz.var $validate = array(‘resim’ => array(‘rule’ => array(‘extension’, array(‘gif’, ‘jpeg’, ‘png’, ‘jpg’)),’message’ => ‘gif, jpeg, png ve jpg formatlarında resim yükleyebilirsiniz.’)); isUnique
Girilen değerin aynısından başka olmaması için kullanılır.var $validate = array(‘kullanici_adi’ => array(‘rule’ => ‘isUnique’,’message’ => ‘Bu kullanıcı adı başkası tarafından kullanılıyor.’)); minLength & maxLength var $validate = array(‘kullanici_adi’ => array(‘rule’ => array(‘maxLength’, 15),’message’ => ‘Kullanıcı adınız en fazla 15 karakter olabilir.’)); numeric
Girilen değerin sadece rakamlardan oluşması için kullanılır.url
Girilen değerin bir url olması için kullanılır.required parametresi
Formda doldurma zorunluluğunun olduğu alanlarda kullanılır.var $validate = array(‘isim’ => array(‘rule’ => ‘alphaNumeric’,’required’ => true)); on parametresi
Bu değer ‘create’ veya ‘update’ olabilir. Yazdığımız kuralın veritabanına veri ekleme esnasındamı yoksa veritabanında veri güncelleme esnasındamı çalışacağını belirtir.CakePHP ile ilgili yazdığım diğer yazıları şuradan, şuradan ve şuradan okuyabilirsiniz.