For import wallet by mnemonic phrase i use next code:
const seed = bip39.mnemonicToSeedSync(mnemonic_phrase, "");
const hd = HDKey.fromMasterSeed(seed.toString("hex"));
const keypair = Keypair.fromSeed(hd.derive(`m/44'/501'/0'/0'`).privateKey);
Additionally, I check the words in the phrase using the dictionary bip-0039.
In the phantom application, the seed phrase is somehow checked even if all the words of the seed phrase are in the dictionary.
How else can you check your seed phrase?