
اعتبارسنجی کد ملی در لاراول در برخی از پروژه های مورد نیاز می باشد و باید صحت کد ملی سنجیده شود در این مقاله به سادگی نحوه ساخت یک Rule برای سنجیدن کد ملی را آموزش داده ایم
ما فرض را بر آماده بودن پروژه گرفته ایم. در مرحله اول شما باید یک قانون (Rule) درست کنید با استفاده از دستور :
php artisan make:rule Nationalcode
با اجرای این کد یک فایل در مسیر app/Rules/Nationalcode.php ساخته می شود.
در این فایل در قسمت passes کد ذیل را وارد می کنیم
if(!preg_match('/^[0-9]{10}$/',$value))
return false;
for($i=0;$i<10;$i++)
if(preg_match('/^'.$i.'{10}$/',$value))
return false;
for($i=0,$sum=0;$i<9;$i++)
$sum+=((10-$i)*intval(substr($value, $i,1)));
$ret=$sum%11;
$parity=intval(substr($value, 9,1));
if(($ret<2 && $ret==$parity) || ($ret>=2 && $ret==11-$parity))
return true;
return false;
پس کد ما در این فایل به این صورت خواهد بود
<?php
namespace App\Rules;
use Illuminate\Contracts\Validation\Rule;
class Nationalcode implements Rule
{
/**
* Determine if the validation rule passes.
*
* @param string $attribute
* @param mixed $value
* @return bool
*/
public function passes($attribute, $value)
{
if(!preg_match('/^[0-9]{10}$/',$value))
return false;
for($i=0;$i<10;$i++)
if(preg_match('/^'.$i.'{10}$/',$value))
return false;
for($i=0,$sum=0;$i<9;$i++)
$sum+=((10-$i)*intval(substr($value, $i,1)));
$ret=$sum%11;
$parity=intval(substr($value, 9,1));
if(($ret<2 && $ret==$parity) || ($ret>=2 && $ret==11-$parity))
return true;
return false;
}
/**
* Get the validation error message.
*
* @return string
*/
public function message()
{
return 'کد ملی اشتباه است';
}
}
حالا در کنترلری که عملیات اعتبارسنجی رو انجام میدید اول باید این Rule رو فراخوانی کنید
use App\Rules\Nationalcode;
و در داخل validation نیز بدین صورت استفاده کنید
'codemeli' => ['required', new Nationalcode],
به همین راحتی!!! لطفا این آموزش را با دوستان خود به اشتراک بگذارید امید است در آینده آموزشهای بیشتری در دسته لاراول جاب تیم، منتشر کنیم


لینک فارسی یا انگلیسی،کدام url در سئو می تواند بهتر باشد؟

سئو سایت فروشگاهی بهمراه چک لیست کامل

سایت مپ نکات و موارد مهم درباره ثبت نقشه سایت در گوگل

پشتیبانی سایت + موارد، هزینه و تعرفه ها

بوم مدل کسب و کار چیست و راهنمای کامل

حذف سشن (session) سبد خرید برگشت از درگاه پرداخت در لاراول

نصب کتابخانه در پایتون

ارجاع دهنده یا منبع ورودی کاربر به سایت شما

استراتژی سئو به زبان ساده

مشکل sql_mode=only_full_group_by در لاراول (laravel)