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ı:
alphaNumericGirilen 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.
betweenGirilen 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ı"
| | )
| | ); |
|
dateGirilen 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.
emailGirilen 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.'
| | )
| | ); |
|
isUniqueGirilen 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.'
| | )
| | ); |
|
numericGirilen 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.