Validate per round rather than cycle-walking in FPE I was thinking about FPE specifically for numbers, CC, phone, SS #, etc. and I thought of some small "optimization" that could be implemented. Can I validate the string length after each round in the Feistel network, and repeating a round with the same tweak if the data is invalid, and continue until a set # of tweaks/successful rounds have been done. 

For decryption, it would be much the same, since any invalid round could simply take the tweak of the preceding successful round. 

Is there any downside to this approach (ie. security flaws, does not actually optimize run time, etc.)?
I don't think this would break correctness, but it's possible you might actually slow your algorithm down on average. You'd need a more rigorous combinatorial analysis of the expected number of repeated rounds vs. the expected number of full cycle walks. That really depends on the specific algorithm; are you using FFX?

You'd also need to show that doing this doesn't alter the distribution of ciphertexts in a way that breaks SPRP security. It's possible that it doesn't, but proving it seems nontrivial to me.