Of course you can request the same data in the loop until the user meets the input data constraints. That should answer your question.
However, it's pretty ugly and annoying to the users. Most cultured console applications are designed to be used without any interactive input. Instead, all the parameters are entered at once in a command line. If there are too many of them, one or more of the parameters could specify some kind of input file(s) where you put most of input parameters. (There are some notorious exclusions from this no-interactive rule of thumb though.)
If you what to go in this way, you can use my robust easy-to-use command line parsing utility:
Enumeration-based Command Line Utility[
^].
You can use another more comprehensive (but perhaps less easy to use for a developer) library I referenced in my article.
Alternatively, you can think to provide more convenient user input through windowed UI, either with
System.Windows.Forms
or WPF library.
—SA