FuelPHP - Doğrulama
Validationbir web uygulamasında sık ve en çok tekrarlanan görevlerden biridir. Kullanıcı gerekli verileri forma girer ve gönderir. Ardından, web uygulamasının verileri işlemeden önce verileri doğrulaması gerekir. Örneğin, kullanıcı çalışan verilerini girer ve post_action'ın veri tabanına kaydetmeden önce doğrulaması gerekir. FuelPHP, bu amaç için gerçekten basit bir sınıf olan Validation sağlar.
FuelPHP'de, doğrulama kavramı çok basittir ve formu doğru şekilde doğrulamak için Validation sınıfı aracılığıyla çeşitli yöntemler sağlar. Doğrulamanın iş akışı aşağıdadır,
Step 1 - kullanarak yeni Doğrulama nesnesi oluşturun forge yöntem.
$val = Validation::forge();
Step 2 - Add yöntemi kullanılarak doğrulanması gereken alanları ekleyin.
$val->add('name', 'Employee name');
Step 3 - Eklenen alanlar için doğrulama kurallarını kullanarak ayarlayın add_rule yöntem.
$val->add('name', 'Employee name')->add_rule('required');
$val->add('age', 'Employee age')->add_rule('required')
->add_rule('numeric_min', 20)
->add_rule('numeric_max', 30);
Step 4 - Verileri doğrulamak için çalıştırma yöntemini çağırın.
// run validation on just post
if ($val->run()) {
// success
} else {
// falier
}
Step 5 - Sırasıyla geçerli ve geçersiz alanları almak için validated ve error kullanın.
$vars = $val->validated();
$vars = $val->error();
Kurallar
FuelPHP, doğrulanması gereken birçok kural içerir ve ayrıca yeni kurallar oluşturma seçeneği sunar. Validation sınıfı tarafından desteklenen kurallar aşağıdaki gibidir,
required - Girilecek değer
required_with- Başka bir alanı tamamlayıcı alan olarak ayarlayın. Alan ayarlanmışsa, tamamlayıcı alanların da ayarlanması gerekir
match_value - Alanın değeriyle eşleşecek değeri ayarlayın
match_pattern - Alanın değeriyle normal ifade olarak eşleştirilecek değeri ayarlayın
match_field - Başka bir alanın değerini, alanın değeriyle eşleşecek değer olarak ayarlayın
match_collection - Alanın değeriyle koleksiyon olarak eşleştirilecek değeri ayarlayın
min_length - Alan değerinin minimum uzunluğunu ayarlayın
max_length - Alan değerinin maksimum uzunluğunu ayarlayın
exact_length - Alan değerinin tam uzunluğunu ayarlayın
valid_date - Alanın değerini geçerli bir tarihe ayarlayın
valid_email - Alanın değerini geçerli bir e-postaya ayarlayın
valid_emails - Alanın değerini virgülle ayrılmış geçerli e-postalar olarak ayarlayın
valid_url - Alanın değerini geçerli bir URL olarak ayarlayın
valid_ip - Alanın değerini geçerli bir IP'ye ayarlayın
numeric_min - Alan değerinin minimum değerini ayarlayın
numeric_max - Alan değerinin maksimum değerini ayarlayın
numeric_between - Alan değerinin minimum ve maksimum değerini ayarlayın
valid_string - Normal ifadeye benzer ancak daha basittir
$val->add('username', 'User name')->add_rule('valid_string', array('alpha, dots');
Burada alfa alfabetik karakterleri ve noktalar (.) Geçerli dizge yalnızca alfabetik karakter ve (.) İçeren dizedir. Diğer seçenekler büyük harf, küçük harf, özel, sayısal, boşluk vb.
Çalışma Örneği
Çalışan ekle özelliğini doğrulamayı içerecek şekilde güncelleyebiliriz. Sadece güncelleyinpost_add Çalışan kontrolörünün yöntemi aşağıdaki gibidir.
public function post_add() {
$val = Validation::forge();
$val->add('name', 'Employee name')->add_rule('required');
$val->add('age', 'Employee age')->add_rule('required')
->add_rule('numeric_min', 20)
->add_rule('numeric_max', 30);
if ($val->run()) {
$name = Input::post('name');
$age = Input::post('age');
$model = new model_employee();
$model->name = $name;
$model->age = $age;
$model->save();
Response::redirect('employee/list');
} else {
Response::redirect('employee/add');
}
}
Burada belirledik nameve zorunlu alanlar olarak yaş. age20 ile 30 arasında olması gerekir. Her iki kural da geçerliyse, çalışan verileri kaydedilir ve çalışan listesi sayfasına yönlendirilir. Aksi takdirde, çalışan verileri reddedilecek ve çalışan sayfası eklemek için yeniden yönlendirilecektir.