March 16th, 2024

Bazı durumlarda kullanıcıların gerçek bir kullanıcı mı, yoksa sahte bir kullanıcı mı olduğunu anlamak için doğrulama yapmamız gerekir. Burada çözüm olarak karşımıza devletin sağladığı bir SoapClient çıkıyor. Bu client üzerinden isim, soyisim, tc kimlik numarası ve doğum yılı ile istek atıp kullanıcıyı doğrulayabiliyoruz.

Bu validasyon işlemini laravel tarafında bir Rule oluşturup yapabiliriz.

İlk önce aşağıdaki artisan komutu ile Classımızı oluşturuyoruz.

1php artisan make:rule ValidateTCNo

Oluşan validasyon dosyamızı App\Rules dizini içinde görebilirsiniz. Bu classımızın içinde iki tane method otomatik olarak geliyor, birisi passes() methodu, diğeri message() methodu. Validasyon için logic işlemleri passes() içinde gerçekleştireceğiz. Hata mesajını ise message() methodu içinde oluşturacağız.

Classımız bu şekilde olacak, kodları incelersek:

1<?php
2
3namespace App\Rules;
4
5use Illuminate\Contracts\Validation\Rule;
6
7class ValidateTCNo implements Rule
8{
9 /**
10 * Create a new rule instance.
11 *
12 * @return void
13 */
14 public function __construct
15 (
16 public string $name,
17 public string $surname,
18 public int $birthYear
19 )
20 {
21 //
22 }
23
24 /**
25 * Determine if the validation rule passes.
26 *
27 * @param string $attribute
28 * @param mixed $value
29 * @return bool
30 */
31 public function passes($attribute, $value)
32 {
33 $client = new \SoapClient('https://tckimlik.nvi.gov.tr/Service/KPSPublic.asmx?WSDL');
34
35 $response = $client->TCKimlikNoDogrula([
36 'TCKimlikNo' => $value,
37 'Ad' => \Transliterator::create("tr-Upper")->transliterate($this->name),
38 'Soyad' => \Transliterator::create("tr-Upper")->transliterate($this->surname),
39 'DogumYili' => $this->birthYear
40 ]);
41
42 return $response->TCKimlikNoDogrulaResult;
43 }
44
45 /**
46 * Get the validation error message.
47 *
48 * @return string
49 */
50 public function message()
51 {
52 return 'Girilen TC kimlik numarası doğru değil.';
53 }
54}

Bu objemizin içine TC kimlik numarası otomatik olarak gelecek, ama ad soyad vs. fieldlerı constructor ile almamız gerekiyor. PHP8 ile gelen Constructor property promotion özelliği ile değişkenleri objeye direkt atayabilirsiniz.

Passes methodu içinde aşağıdaki kısım, gönderdiğimiz datayı büyük harflere çeviriyor. strtoupper() kullanmamamın sebebi, bu fonksiyon ı, ğ, ç gibi Türkçe karakterleri çeviremiyor. 

1\Transliterator::create("tr-Upper")->transliterate($this->name)

Sırada oluşturduğumuz validasyonu form içinde kullanmakta var. Aşağıda örnek bir validasyon işlemi görebilirsiniz.

1<?php
2
3namespace App\Http\Controllers;
4
5use App\Http\Controllers\Controller;
6use App\Rules\ValidateTCNo;
7use Illuminate\Http\Request;
8
9class ApplicationController extends Controller
10{
11 public function store(Request $request)
12 {
13 $attributes = $request->validate([
14 'name' => 'required|string',
15 'surname' => 'required|string',
16 'birthyear' => 'required|numeric',
17 'tc' => ['required', new ValidateTCNo($request->name, $request->surname, $request->birthyear)],
18 // diğer validasyonlar
19 ]);
20
21 /** işlemler*/
22 }
23}
Yorumlar
Lermiliaminlesy
Привет! Так случилось, что моя двоюродная сестра нашла у Вас интересного мужчину и вышла за него замуж ^_^ Неужели здесь есть красивые люди! ;) Я Изабелла, мне 26 лет. Я работаю моделью, преуспеваю - надеюсь, и вы тоже! Хотя, если вы очень хороши в постели, то вы вне очереди!))) Поставьте лайк мне здесь, плз: <a href=https://bit.ly/42OUc1a>@topsecret7847</a> (если жена рядом, не щелкай! :D) Кстати, секса давно не было, найти достойного очень сложно... И нет! Я не проститутка! Я предпочитаю гармоничные, теплые и надежные отношения. Я вкусно готовлю и не только ;) У меня ученая степень в области маркетинга. Моя фотография: <a href=https://bit.ly/42OUc1a><img src="https://i.ibb.co/hBVyhq4/00131-483565854.png"></a> P.S live:i2JpMMlvzyCGRbRLi4iI P.S Еще обо мне: <a href=http://adeptlenses.org>Ищу достойного мужчину!</a> <a href=http://adyp.es>Ищу достойного мужчину!</a> <a href=http://agathaestilistas.com>Ищу достойного мужчину!</a> 1db94e5
PillsInope
Erectile dysfunction treatments available online from TruePills. Discreet, next day delivery and lowest price guarantee. Viagra is a well-known, branded and common erectile dysfunction (ED) treatment for men. It's available through our Online TruePills service. Trial ED Pack consists of the following ED drugs: Viagra Active Ingredient: Sildenafil 100mg 5 pills Cialis 20mg 5 pills Levitra 20mg 5 pills https://cutt.ly/7wC5m1Id https://70.biqund.com/index/d1?diff=0&utm_source=ogdd&utm_campaign=20823&utm_content=&utm_clickid=sm8goc0ckkwccw0k&aurl=https://true-pill.top/ https://wolomin.praca.gov.pl/be/rynek-pracy/bazy-danych/klasyfikacja-zawodow-i-specjalnosci/wyszukiwarka-opisow-zawodow/-/klasyfikacja_zawodow/zawod/712703?_jobclassificationportlet_WAR_nnkportlet_backUrl=http%3a%2f%2ftrue-pill.top http://ljbnya.3nx.ru/loc.php?url=https://true-pill.top/ http://catalog.data.ug/mn_MN/api/1/util/snippet/api_info.html?resource_id=36b8dad3-d29b-4bbb-9355-f8f94b0d5075&datastore_root_url=https://true-pill.top/ https://manly-pro.ru/bitrix/redirect.php?goto=https://true-pill.top/ Clavix Cardivas Uniclor Lokar Funet Unidene Enacor Vertigo-vomex Alental Cilostazol Vikrol Teamic Co lisinopril Sinvacor Doxyprotect Mapryl Naprofidex Baclon Fluxet Apo-mefenamic Allobenz Wormazol Arketis Optiflox Neorex Dexamethasone Meloflex Ulran Farmemax Clopidogrelum Spirolacton Medorisper Pediacort Fermil Pesatril Izra Lacine Modipin Anol Risedronato
XRumer23tog
Bases for Xrumer https://dims-tudio.ru
solar_aekn
solar panel for mobile home <a href=http://www.larpan-mobi4omes.ru/>http://www.larpan-mobi4omes.ru/</a> .
bkvap
<a href=https://samoylovaoxana.ru/samye-interesnye-ekskyrsii-na-phykete-tailand-2023/>Самые интересные экскурсии на Пхукете, Таиланд 2023</a> или <a href=https://samoylovaoxana.ru/tag/plyazhnyj-sezon/>пляжный сезон</a> <a href=https://samoylovaoxana.ru/tag/otdyh-v-abhazii/>отдых в Абхазии</a> https://samoylovaoxana.ru/tag/gde-otdohnut-v-oktyabre/ Ещё можно узнать: <a href=http://yourdesires.ru/home-and-family/cookery/1143-ananas-polza-i-vred.html>чем полезны консервированные ананасы</a> Лучшие туристические направления
MichaelDaw
SEO-оптимизация сайта SEO — это комплекс действий непосредственно на сайте и вне его, необходимых для повышения позиций ресурса в поисковой органической выдаче Google по релевантным запросам, и как результат — его видимости целевой аудитории. Мы разделяем SEO на два этапа — это SEO-оптимизация и SEO-продвижение. Ведь без технически правильной SEO-оптимизации дальнейшее SEO-продвижение невозможно. При качественном SEO-продвижении, ваш сайт будет находиться на первой странице поисковиков, а значит — получать больше трафика и целевых действий от посетителей. Для сравнения, веб-ресурсы, которые не оптимизируют и не продвигают для поисковых систем, зачастую вообще не отображаются в выдаче и соответственно не имеют органических переходов. При формировании поисковой выдачи по запросу используется сложная формула сортировки, учитывающая десятки параметров. Алгоритмы ранжирования регулярно обновляются, дополняются и модернизируются с единой целью — обеспечить максимально релевантные ответы на запросы пользователей. Точный алгоритм построения выдачи результатов не разглашается работниками поисковиков, сообщаются лишь общие требования и критерии заточенного под SEO ресурса, позволяющие попасть в ТОП (первую десятку результатов). При этом каждый новый апдейт Google ужесточает правила для игроков на рынке маркетинга и добавляет работы SEO-специалистам и владельцам бизнесов. Побеждают сильнейшие — те, кто готов адаптироваться и постоянно работать над веб-ресурсом. Но в качестве вознаграждения — постоянный бесплатный органический трафик, повышение позиций и удержание ТОПа. На практике, без активных работ по поисковой оптимизации и продвижению практически невозможно вывести сайт на первую страницу выдачи в высококонкурентных коммерческих тематиках, даже если его контент и техническая реализация будут идеальными. Продолжить чтение на <a href=https://seoglossary.ru/>Автоматическое продвижение сайта</a>
PillsInope
Erectile dysfunction treatments available online from TruePills. Discreet, next day delivery and lowest price guarantee. Viagra is a well-known, branded and common erectile dysfunction (ED) treatment for men. It's available through our Online TruePills service. Trial ED Pack consists of the following ED drugs: Viagra Active Ingredient: Sildenafil 100mg 5 pills Cialis 20mg 5 pills Levitra 20mg 5 pills https://true-pill.top/ Ermes Farcomethacin Wellbutrin Tramazole
PillsInope
Erectile dysfunction treatments available online from TruePills. Discreet, next day delivery and lowest price guarantee. Viagra is a well-known, branded and common erectile dysfunction (ED) treatment for men. It's available through our Online TruePills service. Trial ED Pack consists of the following ED drugs: Viagra Active Ingredient: Sildenafil 100mg 5 pills Cialis 20mg 5 pills Levitra 20mg 5 pills https://true-pill.top/ Ermes Farcomethacin Wellbutrin Tramazole
PillsInope
Erectile dysfunction treatments available online from TruePills. Discreet, next day delivery and lowest price guarantee. Viagra is a well-known, branded and common erectile dysfunction (ED) treatment for men. It's available through our Online TruePills service. Trial ED Pack consists of the following ED drugs: Viagra Active Ingredient: Sildenafil 100mg 5 pills Cialis 20mg 5 pills Levitra 20mg 5 pills https://true-pill.top/ Ermes Farcomethacin Wellbutrin Tramazole
PillsInope
Erectile dysfunction treatments available online from TruePills. Discreet, next day delivery and lowest price guarantee. Viagra is a well-known, branded and common erectile dysfunction (ED) treatment for men. It's available through our Online TruePills service. Trial ED Pack consists of the following ED drugs: Viagra Active Ingredient: Sildenafil 100mg 5 pills Cialis 20mg 5 pills Levitra 20mg 5 pills https://true-pill.top/ Ermes Farcomethacin Wellbutrin Tramazole
Yorum Yap

Email adresiniz yorumlarda gözükmeyecektir.