If the files cannot be separated by the foreach loop properties (file: TheNameYouUse*.txt), you can try using a script before any other tasks within the foreach loop.
In this script, use regular expressions to check the validity of the file. If the file is invalid, set the script tasks result to failure (Dts.TaskResult = Dts.Results.Failure).
Link this script task to the next tasks by a success link: if the script task fails for a file (that is, the file is invalid), the next tasks will not be executed and the next file will be retrieved.
It's not really elegant but I did not find anything else to say 'go fetch the next file'. Let me know if you do please.