Validasyon Kütüphaneleri


    × Bunları biliyor muydunuz?
"Aktif kontrolcü tarafından otomatik olarak yüklenen görünümleri masterpage olarak belirlenen sayfa içerisinde $view değişkeni ile konumlandırabilirsiniz."


Bu kütüphanelerin temel amacı veri ve sistem güvenliğini sağlamaktır. Aşağıda bu kütüphane içerisinde bulunan 3 farklı sınıf gösterilmiştir.

Validation Form doğrulaması için bu kütüphane kullanılır.
Validator Form doğrulaması dışında veri kontrolleri yapmak için kullanılır.
Validate Form doğrulaması dışında herhangi bir veriye filtreleme yapmak için kullanılır.

 

 

# Kurulum


ZN dağıtımları için kurulum gerekmez.

↓ composer require znframework/package-validation

 

 

# Validation


Formlardan post, get gibi yöntemlerle gönderilen verilerin kontrolünü sağlamak için oluşturulmuştur.

 

 

# Örnek Uygulamalar


# Standart Validasyon Kullanımı
# Form Kütüphanesi ile Validasyon Kullanımı

 

 

# Yöntemler


Validation::validate(string ...$args) : this
Validation::secure(string ...$args) : this
Validation::compare(int $min, int $max) : this
Validation::matchPassword(string $password) : this
Validation::match(string $data) : this
Validation::phone(string $pattern) : this
Validation::pattern(string $pattern, string $extra = NULL) : this
Validation::between(float $min, float $max) : this
Validation::captcha() : this
Validation::answer() : this
Validation::card(string $type) : this
Validation::cvc(string $type) : this
Validation::cardDate() : this
Validation::messages(array $messages) : this
Validation::value(string $name) : this
Validation::method(string $method) : this
Validation::rules(string $name, array $config = [], string $viewName = NULL) : void
Validation::error(string $name = 'array') : mixed
Validation::addError(string $message, string $name = NULL) : void
Validation::errorInputs() : array
Validation::postBack(string $name, string $met = 'post') : mixed
Validation::check(string $submit = 'all') : bool

 

 

# Validate


Doğrulama yöntemidir. Aşağıdaki tabloda belirtilen filtrelere aykırı veri gönderimi durumunda Validation::error() aykırı kullanıma dair hata dizisi döndürür.

Parametre
string ...$args Filtreler.
identity Kimlik numarası kontrolü.
email E-posta kontrolü.
url URL adres kontrolü.
specialChar Özel karakter kontrolü.
numeric Verilerin sayı kontrolü
alpha Harflerin kontrolü.
alnum Harf ve sayı kontrolü.
phone Telefon kontrolü.
required Boş geçilemez verilerin kontrolü.
trim Verinin başındaki ve sonundaki karakterleri temizler. Bu filtre hata çıktısına neden olmaz.
captcha Güvenlik kodu kontrolü. 
return this
Kullanımı
Validation::validate('numeric', 'trim')->rules('phone');

if( ! Validation::error() )
{
    # Hata yoksa işlemleriniz.
}

 

 

# Secure


Güvenlik yöntemidir. Aşağıdaki tabloda belirtilen filtrelere aykırı veri gönderimi durumunda veri üzerinde dönüştürme işlemi yapılarak verinin süzgeçten geçirilmesini sağlar. Bu nedenle bu filtreler herhangi bir hata çıktısına neden olmaz.

Parametre
string ...$args Filtreler.
nc Bu filtre aşağıda belirtilen karakterleri [badchars] deyimine çevirir.
<!--, -->, <?, ?>, <, >
html Bu filtre Security::htmlEncode() yöntemi gibi çalışarak html karakterlerini dönüştürür. Şu karakterler üzerinde dönüştürme uygulanır.
" &quot;
' &#039;
< &lt;
> &gt;
xss Bu filtre Security::xssEncode() yöntemini devreye sokar. Şu karakterler üzerinde dönüştürme uygulanır.
document.cookie document&#46;cookie
document.write document&#46;write
.parentNode &#46;parentNode
.innerHTML &#46;innerHTML
-moz-binding &#150;moz&#150;binding
< &#60;
> &#62;
injection Bu filtre Security::injectionEncode() yöntemini devreye sokar. Şu karakterler  üzerinde dönüştürme uygulanır.
' \'
" \"
\ \\
or.+\= string empty
php Bu filtre Security::phpTagEncode() yöntemini devreye sokar. Şu karakterler üzerinde dönüştürme uygulanır.
<?php &#60;&#63;
?> &#63;&#62;
script Bu filtre Security::scriptTagEncode() yöntemini devreye sokar. Şu karakterler üzerinde dönüştürme uygulanır.
<script(.*?)> &#60;script$1&#62;
<script> &#60;/script&#62;
return this
Kullanımı
Validation::secure('xss', 'injection')->rules('content');

 

 

# Compare


Karşılaştırma yöntemidir. 

Parametre
int $min Minimum karakter sayısı kontrolü.
int $max Maksimum karakter sayısı kontrolü.
return this
Kullanımı
Validation::compare(4, 16)->rules('password');

 

 

# MatchPassword


Kayıt veya güncelleme işlemlerinden şifre ve şifre tekrar verilerinin eşleşip eşleşmediğinin kontrolünü yapan yöntemdir.

Parametre
string $password Şifre tekrar input nesnesinin name değeri.
return this
Kullanımı
Validation::matchPassword('passagain')->rules('pass');

 

 

# Match


Herhangi iki bilginin eşleşip eşleşmediğinin kontrolünü yapan yöntemdir.

Parametre
string $data Kontrol edilecek input nesnesinin name değeri.
return this
Kullanımı
Validation::match('oldpass')->rules('newpass');

 

 

# Phone


Telefon bilgisi kontrolünü yapan yöntemdir.

Parametre
string $pattern Desen. Her bir rakam * ile gösterilecek şekilde desen kullanılır.
return this
Kullanımı
Validation::phone('(+**)-(***)-(**)-(**)')->rules('example');

Yukarıdaki kurala uyan bir veri (+90)-(534)-(00)-(00) gibi bir dizilimde olmalıdır.

 

 

# Pattern


İstenilen türde değerin kontrolü için kullanılır. Bu yöntem içerisinde düzenli ifade içermelidir.

Parametreler
string $pattern Kontrol edilecek düzenli ifade. Başına ve sonuna kapsayıcı karakter koymanıza gerek yoktur.
string $extra Düzenli ifadelerin sonuna eklenen i, s, x gibi extra karakterlerin kullanımı içindir.
return this
Kullanımı
Validation::pattern('[a-zA-Z0-9]+', 'i')->rules('name');

 

 

# Between / BetweenBoth (ZN >= 5.3.5)


Verinin belirtilen 2 sayı arasında olup olup olmadığını kontrol eder.

Parametreler
float $min Küçük sayı.
float $max Büyük sayı.
return this
Kullanımı
Validation::between(100, 200)->rules('name');

Between kontrolünde sayılar arasında olmak zorundadır. BetweenBoth kontrolünde ise sayılara eşitte olabilir.

 

 

# Captcha


Güvenlik kodu doğrulaması yapar.

Parametreler
return this
Kullanımı
Validation::captcha()->rules('captchaInput');

 

 

# Answer [6.3.0][2021-03-02]


Güvenlik sorusuna verilen cevabın doğrulaması yapar. Bu yöntem Validator::question() yöntemi ile birlikte kullanılır.

Parametreler
return this
Kullanımı
Validation::answer()->rules('answerInput');

Uygulama - 1

Aşağıda bu yöntemin form ile nasıl kullanıldığının örneği verilmiştir.

Dosya: Views/Contact/main.wizard.php
@Form::open('contactForm')
{{ Validator::question() }} ? {{ Form::text('answertInput') }}
@Form::submit()
Dosya: Controllers/Contact.php
public function main()
{
    Validation::answer()->rules('answerInput');

    # your codes.
}

 

 

# Card


Kredi kartı numarasının geçerliliğini kontrol eder. Çok sayıda kredi kartı sağlayıcısını destekler.

Parametreler
string $type Kredi kartı sağlayıcısı.
Desteklenen Sağlayıcılar visa              , mastercard  , maestro   , dankort , jcb 
forbrugsforeningen, amex        , dinersclub, discover, unionpay

carteblanche      , interpayment, mir       , troy    , uatp
verve             , bmoabm      , cibc      , hsbc    , rbc
scotia            , tdtrust
 
return this
Kullanım
Post::cardNumber('5522334422334112');

Validation::card('mastercard')->rules('cardNumber')

 

 

# CVC


Kredi kartı güvenlik numarasının geçerliliğini kontrol eder. Çok sayıda kredi kartı sağlayıcısını destekler.

Parametreler
string $type Kredi kartı sağlayıcısı.
Desteklenen Sağlayıcılar visa              , mastercard  , maestro   , dankort , jcb 
forbrugsforeningen, amex        , dinersclub, discover, unionpay

carteblanche      , interpayment, mir       , troy    , uatp
verve             , bmoabm      , cibc      , hsbc    , rbc
scotia            , tdtrust
 
return this
Kullanım
Post::cardCVC('921');

Validation::cvc('mastercard')->rules('cardCVC');

 

 

# CardDate


Kredi kartının son kullanım tarihinin geçerliliğini kontrol eder.

Parametreler
 
return this
Kullanım

Gelen değer mm/yyyy formatında bir bilgi içermelidir. 6.91.8.30 sürümü ile beraber bu sınırlama kaldırılmıştır. Yıl istenirse 2 veya 4 haneli ay ise 1 veya 2 hane olabilir.

Post::cardDate('04/2023');

Validation::cardDate()->rules('cardDate');
Paket[6.0.5.10] Güncellemesi

Bu güncelleme ile beraber yılın 4 ayın ise 2 hane olma zorunluluğu kaldırılmıştır. Aşağıdaki örnekte geçerli tarih gönderimini göstermektedir.

Post::cardDate('4/23');

Validation::cardDate()->rules('cardDate');

 

 

# Messages


Validasyon işlemlerinde oluşan hata çıktısı External/Languages/ViewObjects.php dosyasında yer alan tanımlamalara göre oluşturulur. Çıktıyı değiştirmek için bu dosyaları manipüle edebileceğiniz gibi bu işlemi bu yöntemle de gerçekleştirebilirsiniz.

Parametreler
array $messages Kullanın tanımladığı mesajlar dizisi.
anahtar Anahtar olarak validasyon işleminin adı. Örnek: required, email
değer Değer olarak da bu işlemde hata oluşması sırasında oluşturulacak çıktının içeriği. Örnek: Geçersiz kullanım!
return this
Kullanım
Post::cvc(123123);

Validation::messages
([
    'cvc' => 'Geçersiz kart güvenlik numarası.'
]);

Validation::cvc('mastercard')->rules('cardCVC');

echo Validation::error('string');
Geçersiz kart güvenlik numarası.
Veri Yerleştirme Deyimleri

Oluşturulan hata mesajına veri yerleştirmek için bazı deyimler kullanılır. 

:name Hataya neden olan form nesnesinin adı veya takma adını temsil eder.
:px İsim dışında veri gönderimi için kullanılır. X kullanılan parametre başına sıralı sayıyı temsil eder.
Post::name('Mi');
Post::point(150);

Validation::messages
([
    'cvc'     => ':name alanı geçersiz kart güvenlik numarasına sahiptir.',
    'between' => ':name alanı [:p1 - :p2] sayı aralıklarında değildir.',
    'minchar' => ':name alanı en az :p1 adet sayı içermelidir.'
]);

Validation::value('İsim')->rules('name', ['minchar' => 3]);
Validation::between(50, 100)->value('Puan')->rules('point');

echo Validation::error('string');
İsim alanı en az 3 adet sayı içermelidir.
Puan alanı [50 - 100] sayı aralıklarında değildir.

 

 

# Value


Validation::rules() yönteminin 3. parametresi yerine kullanılır. Input name değerinin üretilen hata çıktısında görünen adını ayarlamak için kullanılır.

Parametreler
string $value Input nesnesinin hangi isimle görüneceği.
return this
Kullanımı
Validation::validate('required')->compare(5, 100)->value('Name')->rules('name');

 

 

# Method


Validation::rules() yönteminin 4. parametresi yerine kullanılır. İstek türü varsayılan olarak post ayarlıdır. Bunu değiştirmek için bu yöntemden yararlanılır.

Parametreler
string $method İstek yöntem türü.
Seçenekler post, get, request, data
return this
Kullanımı
Validation::validate('required')->method('get')->rules('name');

Data Parametresi

Parametrenin 'data' ayarlanması durumunda doğrudan Validation::rules() yönteminin 1. parametresine gelen değerin kontrolünü yapar.

Validation::validate('email')->method('data')->rules('[email protected]');
true

 

 

# Rules


Bu yöntemin temel amacı formlardan gelen verilerin hangi kontrol parametrelerinden geçeceğini belirlemektir. Veriler kontrolden başarılı bir şekilde geçerse error() yöntemi false döner. Bu nedenle başarım durumuna göre koda yön vermek için Validation::error() yöntemini kullanınız.

Parametreler

string $inputName Nesne, post veya diğer yöntemlerle gönderilen verinin ismi.
array $rules Uygulanacak filtreler dizisi.
string $viewName Input nesnesinin görünen değeri.
return  

Filtreler

string required
'required'
Boş geçilemez.
string email
'email'
E-posta kontrolü.
mixed phone
'phone', ['phone' => '(***)-(***)-(**)-(**)']
Telefon kontrolü.
string identity 'identity' Kimlik numarası kontrolü.
string url 'url' URL kontrolü.
string alpha 'alpha' Alfabetik karakter kontrolü.
string numeric 'numeric' Sayısal karakter kontrolü.
string alnum 'alnum' Alfasayısal karakter kontrolü
string specialChar 'specialChar' Özel karakter kontrolü.
array minchar
['minchar' => min]
Minimum karakter kontrolü.
array maxchar
['maxchar' => max]
Maximum karakter kontrolü.
array matchPassword
['matchPassword' => 'input-name']
Şifrelerin eşitlik kontrolü.
array match
['match' => 'input-name']
Belirtilen input ile gelen verinin eşitlik kontrolü.
array between
['between' => [min, max]]
Belirtilen aralıklar içerisinde olma kontrolü.
array betweenBoth
['betweenBoth' => [min, max]]
Belirlenen aralıklar dahil içerisinde olma kontrolü.
array card
['card' => 'card-type']
Desteklenen kart türüne göre kart numarası kontrolü.
array cvc
['cvc' => 'card-type']
Desteklenen kart türüne göre güvenlik numarası kontrolü.
string cardDate 'cardDate' Karta ait xx/yy türünden geçerli tarih kontrolü.
string trim 'trim' Baştaki ve sondaki boşluk karakterlerini temizler.
string captcha 'captcha' Güvenlik kodu kontrolü.
string answer 'answer' Güvenlik sorusuna verilen cevap kontrolü.
array pattern
['pattern' => '/regex/']
Düzenli ifadeler desenine göre kontrol.
string nc 'nc' İstenilmeyen karakterlerin kontrolü.
string html 'html' HTML kontrolü.
string injection 'injection' Tırnak karakter kontrolü.
string php 'php' PHP tag kontrolü.
string script 'script' Javascript tag kontrolü

Kullanımlar

Post::username('ExampleUser');
Post::password('1234');

Validation::rules('username', ['required', 'email'], 'Username:');
Validation::rules('password', ['required', 'minchar' => 8, 'maxchar' => 32], 'Username:');

# Kuralların kontrolü için bu yöntem kullanılır.
if( ! $error = Validation::error('string') )
{
    # Hata yoksa kodlarınız.
}
else
{
    output($error);
}
0 => string 'Username: field is not valid email address!' ( length = 45 ),
1 => string 'Username: area of ​​at least 8 characters long!' ( length = 53 )

 

 

# Error


Validasyon sırasında hata olması durumunda hata üretir. Validasyon durumuna göre kod akışına yön vermek için kullanılır. 

Parametreler

string $type = 'array' Hata çıktısının veri türü.
array Hata çıktısı dizi türünde döner.
string Hata çıktısı dizge türünde döner.
name Hata alınan input name değerine göre de ilgili  tek bir hata çıktılanabilir.
string
$separator = '<br>'
[6.25.4][2022-03-18] Birden fazla hata mesajını böler. Özellikle ajax işlemlerde alert veya swal gibi fonksiyonlar ile alt alta mesaj verilmek istendiğinde \n kullanarak alt alta gösterim sağlanabilir.
return mixed

Kullanımlar

if( Validation::error() )
{
    # Hata varsa kodlarınız
}
else
{
    # Hata yoksa kodlarınız
}​​​​​

İsme Göre [$type = 'name']

Hataya neden olan bir input varsa ismi kullanılarak o sadece o inputa ait hata elde edilebilir.

output( Validation::error('phone') );
Separator Parametresi [6.25.4][2022-03-18]

Bu güncellemede $separator parametresi eklenmiştir. Bu parametre birden fazla oluşan hata mesajlarının alt alta yazılabilmesi için kullanılan <br> etiketi dışında farklı bir ayraç kullanılmasını sağlar.

$error = Validation::error('string', "\n");

 

 

# AddError [6.5.0][2021-03-07]


Validation::error() yöntemin döndürdüğü hata dizisine kendi hata mesajlarınızı eklemenizi sağlar.

Parametreler

string $message Hata içeriği.
string $name = NULL Hata'ya konu olan input adı.

Kullanımlar

Validation::addError('My error!');

echo Validation::error('string');
My error!

[string $name][7.8.0][2022-12-18]

Belirlenen hatayı temsil eden bir isim verilir.

Validation::addError('My error', 'myErrorInput');

echo Validation::error('myErrorInput');
My error

 

 

# ErrorInputs [7.8.0][2022-12-18]


Hayata konu olan inputların isimlerinin yer aldığı bir dizi döndürür.

Parametreler

return array

Kullanımlar

Validation::rules('emailInput', ['email']);
Validation::addError('Invalid Identity Number!', 'identityInput');

output( Validation::errorInputs() );
0 => emailInput
1 => identityInput

 

 

# Check (ZN >= 5.4.2)


Form::validate() yöntemi ile oluşturulan kuralların kontrolü için kullanılır.

Uyarı: Bu yöntem sadece Form:: kütüphanesine bağlı validasyon işlemleri ile beraber kullanılmaktadır.

Parametreler

5.4.2 string
$submitName = 'all'
Parametre belirtilmezse submit edilen formanda gelen herhangi bir input nesnesine ait değerin gelip gelmediği kontrol edilir.
  return bool

Kullanımlar

<?php namespace Project\Controllers;

use Validation, Post;

class Home extends Controller
{
    public function main(string $params = NULL)
    {
        if( Post::all() )
        {
            if( Validation::check() )
            {
                # Validasyon geçerli ise yapılacak işlemler.   
            }
            else
            {
                # Validasyon geçersiz ise hatayı dizge türünden veri olarak gönder.
                View::error( Validation::error('string') );
            }
        }
    }
}

Rule Check Error

Bu hata validasyon kurallarında anormallik olması durumunda üretilmektedir.

 

 

# Standart Validasyon Kullanımı


Genellikle Validation kullanımı bir görünüm sayfasından post edilen forma ait değerleri kontrol etmek için kullanılır. Validation kontrolü için Validation::error() kullanılır. Buna göre aşağıdaki gibi bir kontrolcü ve bir görünüm sayfamızın var olduğunu kabul ederek kodlarımızı düzenleyelim.

Formu Hazırlayın

Veri göndereceğiniz formunuzu hazırlayın. 

Görünüm: Views/contact/main.wizard.php
@Form::open('test')
@Form::placeholder('Name')->text('name'): <br>
@Form::placeholder('Subject')->textarea('subject'): <br>
@Form::submit('sendSubmit', 'Send')
@Form::close()

@if( ! empty($validationError) )
    @$validationError
@endif
Kontrolcüyü Hazırlayın

Gelen form verilerini işleme sokan kontrolcüyü hazırlayın. 

Kontrolcü: Controllers/contact.php
<?php namespace Project\Controllers;

use Validation, DB, Post;

class Contact extends Controller
{
    public function main(string $params = NULL)
    {
        if( Post::sendSubmit() )
        {
            Validation::validate('required')
                      ->compare(2, 250)
                      ->secure('xss', 'injection')
                      ->value('Name : ')
                      ->rules('name');

            Validation::validate('required')
                      ->compare(5, 250)
                      ->secure('script', 'xss')
                      ->value('Subject : ')
                      ->rules('subject');
            
            # Bu kullanımda kontrol Validation::error() ile gerçekleştirilir.
            if( ! $validationError = Validation::error('string') )
            {
                DB::insert('post:contact');               
            }    
        } 

        View::validationError($validationError ?? NULL);    
    }
}

 

 

# Form Kütüphanesi ile Validasyon Kullanımı


Bu tip kullanımda form verilerinin kontrolü kontrolcü üzerinde Validation::rules() yerine görünüm üzerinde Form::validate() yöntemi ile yapılır. Validasyon kontrolü için Validation::check() kullanılır.

Formu Hazırlayın

Veri göndereceğiniz formunuzu hazırlayın. 

Görünüm: Views/contact/main.wizard.php
@Form::open('test')
@Form::placeholder('Name')->validate('xss', 'injection', ['minchar' => 2])->text('name'): <br>
@Form::placeholder('Subject')->validate(['minchar' => 5, 'maxchar' => 250])->textarea('subject'): <br>
@Form::submit('sendSubmit', 'Send')
@Form::close()

@if( ! empty($validationError) )
    @$validationError
@endif
Kontrolcüyü Hazırlayın

Gelen form verilerini işleme sokan kontrolcüyü hazırlayın. 

Kontrolcü: Controllers/contact.php
<?php namespace Project\Controllers;

use Validation;

class Home extends Controller
{
    public function main(string $params = NULL)
    {
        # Bu kullanımda kontrol Validation::check() ile gerçekleştirilir.
        if( ! Validation::check() )
        {
            # your codes...
            View::validationError(Validation::error('string'));
        }
    }
}

 

 

# Validator (ZN >= 4.0.23)


Verilerin kontrolü maksadıyla oluşturulmuş kütüphanedir. Bu bölümde Validator:: kütüphanesinin normal veriler için kullanımı anlatılacaktır.

 

 

# Yöntemler


Validator::phone(string $data, string $pattern = NULL) : bool
Validator::numeric(string $data) : bool
Validator::alpha(string $data) : bool
Validator::alnum(string $data) : bool
Validator::identity(int $no) : bool
Validator::email(string $data) : bool
Validator::url(string $data) : bool
Validator::specialChar(string $data) : bool
Validator::maxchar(string $data, int $char) : bool
Validator::minchar(string $data, int $char) : bool
Validator::captcha(string $data) : bool
Validator::question(array $questions = []) : string
Validator::answer(string $data) : bool

 

 

# Phone (ZN >= 4.0.23)


Verinin telefon bilgisi içerip içermediği kontrol edilir.

Parametreler
string $data Kontrol edilecek veri.
string $pattern = NULL Hangi desene göre kontrol yapılacağı.
return bool
Örnekler
echo Validator::phone('1231');
echo Validator::phone('32343234234');
echo Validator::phone('123-234', ' *- - ');
echo Validator::phone('123-23-23', ' *- - '); 
0
1
0
1

 

 

# Numeric (ZN >= 4.0.23)


Verinin sayısal veri olup olmadığı kontrol edilir.

Parametreler
string $data Kontrol edilecek veri.
return bool
Örnekler
echo Validator::numeric('1231');
echo Validator::numeric('a234');
echo Validator::numeric('234'); 
1
0
0

 

 

# Alpha (ZN >= 4.0.23)


Verinin alfabetik veri olup olmadığı kontrol edilir.

Parametreler
string $data Kontrol edilecek veri.
return bool
Örnekler
echo Validator::alpha('1231');
echo Validator::alpha('a234');
echo Validator::alpha('abcd'); 
0
0
1

 

 

# Alnum (ZN >= 4.0.23)


Verinin alfabetik veya sayısal veri olup olmadığı kontrol edilir.

Parametreler
string $data Kontrol edilecek veri.
return bool
Örnekler
echo Validator::alnum('1231');
echo Validator::alnum('a234');
echo Validator::alnum('abcd');
echo Validator::alnum('?+y12');
1
1
1
0

 

 

# Identity (ZN >= 4.0.23)


Verinin kimlik numarası olup olmadığı kontrol edilir.

Parametreler
string $data Kontrol edilecek veri.
return bool
Örnekler
echo Validator::identity(12312311231);
echo Validator::identity('12312312');
0
0

Gerçek bir kimlik numarası girdiğinizde sonucun 1 olduğunu görebilirsiniz.

 

 

# Email (ZN >= 4.0.23)


Verinin e-posta olup olmadığı kontrol edilir.

Parametreler
string $data Kontrol edilecek veri.
return bool
Örnekler
echo Validator::email('robot@znframework');
echo Validator::email('[email protected]');
0
1

 

 

# URL (ZN >= 4.0.23)


Verinin url olup olmadığı kontrol edilir.

Parametreler
string $data Kontrol edilecek veri.
return bool
Örnekler
echo Validator::url('www.znframework.com');
echo Validator::url('https://www.znframework.com');
0
1

 

 

# SpecialChar (ZN >= 4.0.23)


Verinin içerisinde özel karakter olup olmadığı kontrol edilir.

Parametreler
string $data Kontrol edilecek veri.
return bool
Örnekler
echo Validator::specialChar('abc+');
echo Validator::specialChar('abc');
1
0

 

 

# Minchar (ZN >= 4.0.23)


Verinin minumum uzunluk değeri kontrol edilir. Belirtilen değere eşit ve büyük olduğu sürece true döner.

Parametreler
string $data Kontrol edilecek veri.
int $length Karakter uzunluğu.
return bool
Örnekler
echo Validator::minchar('abc', 5);
echo Validator::minchar('abc', 2);
0
1

 

 

# Maxchar (ZN >= 4.0.23)


Verinin maksimum uzunluk değeri kontrol edilir. Belirtilen değere eşit ve küçük olduğu sürece true döner.

Parametreler
string $data Kontrol edilecek veri.
int $length Karakter uzunluğu.
return bool
Örnekler
echo Validator::maxchar('abc', 5);
echo Validator::maxchar('abc', 2);
1
0

 

 

# Captcha [3.0.0]


Verinin captcha kodu ile uyumlu olup olmadığı kontrol edilir.

Parametreler
string $data Kontrol edilecek veri.
return bool
Örnekler
echo Validator::captcha('ab032c');
true / false

 

 

# Question [6.3.0][2021-03-02]


Verinin güvenlik sorusuna verilen yanıt ile uyumlu olup olmadığı kontrol edilir.  Bu yöntem Validation::answer() doğrulaması ile beraber kullanılır.

Parametreler
arrays $questions = [] Güvenlik sorusu ve cevapları oluşturmak için kullanılabilecek bir dizi. Bu parametre boş bırakılırsa soru olarak rasgele tek haneli 2 sayının toplamı veya çarpımı sorulur.
return string
Örnekler
echo Validator::question();
6 * 2

[$questions]

Bu parametrenin tanımlanması durumunda kendinize özel soru cevap dizisi oluşturabilirsiniz. Bu sorular rasgele çıktılanır. Verilen cevapların harf duyarlılığı yoktur.

echo Validator::question(['Başkent?' => 'ankara', 'Güneş hangi yönden doğar?' => 'batı']);
Başkent?

 

 

# Answer [6.3.0][2021-03-02]


Validator::question() yöntemi ile oluşturulan güvenlik sorusuna verilen yanıtın doğrulu kontrol edilir.

Parametreler
string $data Kontrol edilecek veri.
return bool
Örnekler
echo Validator::answer(10);
true / false

 

 

# Validate (ZN >= 4.0.23)


Bu kütüphane Validator:: kütüphanesinin sıralı kullanımına yönelik oluşturulmuş kontrol kütüphanesidir. Validator:: kütüphanesinde yer alan bütün yöntemleri kullanabilir.

 

 

# Yöntemler


Validate::data(string $data) : this
Validate::get() : bool
Validate::status() : array

 

 

# Data (ZN >= 4.0.23)


Kontrol edilecek verinin girileceği yöntemdir.

Parametreler
string $data Kontrol edilecek veri.
return this
Örnekler
$status = Validate::data('ExampleData')
                  ->maxchar(20)
                  ->minchar(5)
                  ->email()
                  ->get();

echo $status;
output( Validate::status() );
false
maxchar => boolean true ( length = 4 ),
minchar => boolean true ( length = 4 ),
email   => boolean false ( length = 5 )

 

 

# Get (ZN >= 4.0.23)

Validate kütüphanesine ait filtreleme


işlemlerini sonlandırmak için kullanılır.

Parametreler
 
return bool

Yukarıdaki örnekte kullanımı gösterilmiştir.

 

 

# Status (ZN >= 4.0.23)


Validate kütüphanesine ait filtreleme işlemleri sonucunda hangi filtrelerden başarı ile geçilip hangilerinden geçilmediği hakkıkında bilgi veren bir dizi döndürür.

Parametreler
 
return bool

Yukarıdaki örnekte kullanımı gösterilmiştir.