formDogrula

php ile yazılmış form doğrulama sınıfı

4. form doğrulama

Artık bir formu doğrulatabilmek için kuralları nasıl tanımlamamız gerektiğini biliyoruz. Bu bilgilerimizi kullanarak örnek formumuzu nasıl doğrulatacağız ona bakalım. formDogrula sınıfında bir formu doğrulatmak için dogrulat metodunu kullanırız.

<?php
    require './formDogrula/eb.formDogrula.php';

    // yeni bir nesne oluşturuyoruz
    $fdo = new formDogrula('form1', 'post');

    // kurallar
    $fdo->kurallar(
        array('kulAdi', 'Kullanıcı adı', 'gerekli|ara_uzunluk[5,10]|harf'),
        array('email', 'Email adresi', 'gerekli|eposta'),
        array('parola', 'Parola', 'gerekli|ara_uzunluk[6,12]|rakam')
    );

    // formu doğrulama işlemini yap
$fdo->dogrulat();
?>

Gayet basit değil mi? Bir de önceki konuda anlatıldığı gibi kuralları bir "ini" dosyasından aldığımızı düşünürsek, kodlarımız çok daha basite indirgenir. Aynen alttaki örnekte olduğu gibi:

<?php
    require './formDogrula/eb.formDogrula.php';

    // yeni bir nesne oluşturuyoruz
    $fdo = new formDogrula('form1', 'post');

    // kuralları ini dosyasından al
    $fdo->inidenAl();
    
    // formu doğrulama işlemini yap
    $fdo->dogrulat();
?>

işte şimdi "vay be" dediğinizi duyar gibiyim :) Yalnızca 3-4 satır kodla form doğrulama işlemi yaptık. Ne satırlarca if-else bloğu açtık ne de düzenli ifadeler (regex) ile boğuşmak zorunda kaldık.

dogrulat() metodunu efektif bir şekilde kullanalım...

dogrulat() metodunu bu şekilde kullandığınızda, formunuz doğrulanır fakat herhangi bir ekran çıktısı almazsınız. Çünkü bu metot geriye true veya false değerlerinden birini döndürür. O halde bir if-else bloğu ile form doğrulama işleminin başarılı olup olmadığını ekranda şu şekilde gösterebiliriz:

<?php
    require './formDogrula/eb.formDogrula.php';

    // yeni bir nesne oluşturuyoruz
    $fdo = new formDogrula('form1', 'post');

    // kuralları ini dosyasından al
    $fdo->inidenAl();

    // formu doğrulama işlemini yap ve sonucu ekrana yazdır
    if( $fdo->dogrulat() ) {
        echo 'form başarıyla doğrulandı';
    } else {
        echo 'form doğrulama başarısız!';
    }
?>