In strongly typed language, there is no room for error when a user enters data that is expected to be put into a data storage system.
For example, I need to covert an input from textbox1 that is supposed to be a number to be used in a total:
int fundAmt = Convert.ToInt32(TextBoxPersonalFundAmt.Text);
If the user enters unexpected non numeric characters, this conversion will fail and make your app error out. Instead of directly trying to convert, we can cast a Boolean on our input data using TryParse to parse the number into an integer…
bool isNumeric = int.TryParse(TextBoxPersonalFundAmt.Text, out n);
Now we can validate the input and perform the necessary calculations with the numbers.
int fundAmt; bool isNumeric = int.TryParse(TextBoxPersonalFundAmt.Text, out fundAmt); if (!isNumeric) { errInfo += "Error: Its not a valid number in the amount box "; lblLogErr.Text = errInfo; pageValid = false; } else { // calculate the total }
Another good example is the date field. A user is expected to enter a valid date for their birthday. There are many ways that a user would normally express that date. We of course use a client side validation to ensure that the format is entered correctly, but we need to have a server side validation of that data as well.
DateTime SponsorSigDate; if(!DateTime.TryParse(TextBoxSponsorDate1.Text, out SponsorSigDate)) { pageValid = false; errInfo += "Error: Enter a valid date. "; }