Custom validator yazmanızı tavsiye ederim. Ben TCKN validation için şunu kullanıyorum:
Validator::extend('tckn', function ($attribute, $value, $parameters, $validator) {
$tckn = $input;
if (is_array($input) && !empty($input['tckn'])) {
$tckn = $input['tckn'];
}
if (!preg_match('/^[1-9]{1}[0-9]{9}[0,2,4,6,8]{1}$/', $tckn)) {
return false;
}
$odd = $tckn[0] + $tckn[2] + $tckn[4] + $tckn[6] + $tckn[8];
$even = $tckn[1] + $tckn[3] + $tckn[5] + $tckn[7];
$digit10 = ($odd * 7 - $even) % 10;
$total = ($odd + $even + $tckn[9]) % 10;
if ($digit10 != $tckn[9] || $total != $tckn[10]) {
return false;
}
return true;
});