Sistemde uzun zamandır değişik sorunlar oluyordu zaten. Şuan bunu yapmanın api katmanında bir yolu olmayabilir. Fakat hiç bir yolunu bulamıyorsan checksum (kontrol basamağı) ile tc'nin kafadan uydurulmadığını doğrulayabilirsin. Geçici bir çözüm ama boş bir çözüm değil. Bu çözüm ile doğru olmayan (kafadan sallanmış) bir tc kimlik numarasını tespit edebilirsin. İstersen şöyle örnek bir react js kodu bırakabilirim:
function validateTC(tc) {
if (!/^[1-9][0-9]{10}$/.test(tc)) return false;
const digits = tc.split('').map(Number);
const oddSum = digits[0] + digits[2] + digits[4] + digits[6] + digits[8];
const evenSum = digits[1] + digits[3] + digits[5] + digits[7];
const digit10 = ((oddSum * 7) - evenSum) % 10;
const digit11 = (digits.slice(0, 10).reduce((a, b) => a + b, 0)) % 10;
return digit10 === digits[9] && digit11 === digits[10];
}Kullanımı:
validateTC("10000000146") // true / false