Bu paket, Laravel 5.3+ uygulamalara TC Kimlik Numarası Doğrulaması özelliği ekler.
Paketi composer üzerinden yükleyebilirsiniz:
composer require erdemkeren/tr-nat-id-num-validator
Eğer uygulamanızda otomatik keşif özelliği yoksa;
ardından config/app.php
dosyanıza servis sağlayıcımızı eklemelisiniz.
...
'providers' => [
...
Erdemkeren\Validators\TrNatIdNumValidator\TrNatIdNumValidationServiceProvider::class,
],
...
Paket kurulumunu tamamladıktan sonra; herhangi bir doğrulama kullanır gibi kullanabilirsiniz.
NVI'nin soap isteğinin gerçekleştirilebilmesi için; TC Kimlik Numarası ile birlikte sırası ile kullanıcının adını, soyadını ve doğum yılını da vermeniz gerekmektedir.
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class ExampleController extends Controller
{
public function index(Request $request)
{
$this->validate($request, [
'tr_nat_id_num' => 'required|tr_nat_id_num:Hilmi Erdem,Keren,1990'
]);
return "Hello!";
}
}
Bu paket, sahnenin arkasında TurkishNationalIdNumberValidator
sınıfını kullanır.
Eğer validation rule değil, özel bir kullanım ihtiyacınız varsa; siz de aynı sınıfı kullanabilirsiniz.
$validator = new TurkishNationalIdNumberValidator(new NviTcKimlikWebServiceRequest());
$result = $validator->validate(new NaturalizationRecord($trNatIdNum, $name, $surname, $birthYear));
Verilen hata mesajını değiştirmek isterseniz
resources/lang/{dil}/validation.php
dosyalarına istediğiniz hata mesajını ekleyebilirsiniz:
'tr_nat_id_num' => "Vermek istediğiniz hata mesajı"
Lütfen son değişiklikleri görmek için Değişiklik Listesi dosyasını ziyaret ediniz.
Testleri koşmak için composer.json seviyesinde aşağıdaki komut çalıştırılabilir:
$ composer test
Uygulama, NVI tarafından sağlanan soap isteği şemasını kullanarak; yine NVI tarafından sağlanan bağlantı üzerinden doğrulama isteğinde bulunmaktadır.
Eğer yalnızca iç ağ üzerinde çalışan indoor bir uygulama geliştiriyorsanız; bu paket size uygun değildir.
Eğer katkıda bulunmak isterseniz lütfen Katkıda Bulunun dosyasını inceleyin.
Bu paket
epigra/tckimlik paketinin üzerine geliştirilmiştir.
The MIT License (MIT). Detaylar için lütfen Lisans Dosyasını inceleyin.