Wallogit.com
2017 © Pedro Peláez
Simple Php Validator
Php için oluşturulmuş form doğrulama sınıfı., (*1)
composer.json dosyasında, require içerisine şu satırı ekleyin:, (*2)
"selahattinunlu/php-validator": "dev-master"
Yani son hali şu şekilde olmalıdır:, (*3)
{
"require": {
"selahattinunlu/php-validator": "dev-master"
},
"minimum-stability": "dev"
}
Ardından terminale, daha önce kurulum yapmadıysanız composer install kurulum yaptıysanız composer update komutunu girin., (*4)
Böylece gerekli dosyalar projenize dahil edilecektir., (*5)
Composer hakkında daha detaylı bilgi için tıklayın., (*6)
HTML Form, (*7)
<form method="POST" action="post.php"> <input type="text" name="username" placeholder="Username" /> <input type="text" name="email" placeholder="Email" /> <input type="text" name="age" placeholder="Age" /> <input type="password" name="password" placeholder="Password" /> <input type="password" name="password_confirm" placeholder="Password Confirm" /> <button type="submit">Gönder</button> </form>
post.php, (*8)
$validator = new \phpValidator\Validator(); $validator->set($input, array( 'username' => 'required|min:5|max:10', 'email' => 'required|email', 'age' => 'required|between:18,30', 'password' => 'required|confirm', 'password_confirm' => 'required' ), array( 'username.required' => 'Kullanıcı adı girmedin!', 'username.min' => 'Kullanıcı adı minimum 5 karakterden oluşmalıdır.', 'username.max' => 'Kullanıcı adı maximum 10 karakterden oluşmalıdır.', 'email.required' => 'Email girmedin', 'email.email' => 'Lütfen geçerli bir email adresi giriniz.', 'age.between' => 'Yaşınız 18 ile 30 arasında olmalıdır', 'password.confirm' => 'Girilen parolalar eşleşmiyor!' )); if ($validator->fails()) var_dump($validator->errors()->all());
Tanımlanan kuralların aksi bir durum gerçekleştiğinde bunu yakalamk için fails() methodu kullanılır., (*9)
if ($validator->fails())
return 'hata var!';
else
return 'hata yok!';
$validator->errors()->all();
$validator->errors()->first();
$validator->errors()->get('username');
Bunun için setRule($kuralAdi, $fonksiyon) methodu kullanılır, (*10)
Örnek:, (*11)
$validator->setRule('sehir', function($value) {
return ($value != 'istanbul') ? false : true;
});
Sonucun false olarak dönmesiyle, tanımladığınız mesaj hata mesajlarına eklenir., (*12)
$validator = new \phpValidator\Validator(); $validator->setRule('ozelKuralAdi', function($value) { return ($value != 'istanbul') ? false : true; }); $validator->set($input, array( 'input' => 'ozelKuralAdi' ), array( 'input.ozelKuralAdi' => 'Kuralınızın hata mesajı!' )); if ($validator->fails()) die(json_encode(array('error' => $validator->errors()->first())));
function fonksiyonAdi ($value) {
return ($value != 'istanbul') ? false : true;
}
$validator->setRule('ozelKuralAdi', 'fonksiyonAdi');