تایید اصالت کد ملی در لاراول

اگه شما هم توسعه دهنده لاراول هستید ، ممکنه برای شما هم پیش بیاد که بخواهید کد ملی رو تایید کنید. لاراول یه سیستم مخصوص خودش داره برای تایید درخواست api به نام  Request که توسط Rule های کاستوم میتونین ارتقا بدینش. توسط Rule زیر میتونین کد ملی رو تایید کنید :

‍‍‍‍

...
 public function passes($attribute, $code)
    {
 if (!preg_match('/^[0-9]{10}$/', $code))
 return false;
 for ($i = 0; $i < 10; $i++)
 if (preg_match('/^' . $i . '{10}$/', $code))
 return false;
 for ($i = 0, $sum = 0; $i < 9; $i++)
            $sum += ((10 - $i) * intval(substr($code, $i, 1)));
        $ret = $sum % 11;
        $parity = intval(substr($code, 9, 1));
 if (($ret < 2 && $ret == $parity) || ($ret >= 2 && $ret == 11 - $parity))
 return true;
 return false;
    }
...


و توسط رول زیر به ریکویست اضافه کنیدش :

‍'nationalcode'=>[new nationalcode]

منتظرم نظرتون رو بشنوم.