Yes, this will prevent voter fraud, even though there is little evidence that voter fraud even exists
However, this will disadvantage those who do not have the resources to obtain one! So the Solution is to automatically register every citizen to vote when they turn 18