Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Text box validation

I am using many text boxes in a form. How do i validate them, In certain text boxes I have to use only text and in some I have to use only numbers. Is using ASCII is a right method or is there any easier method to do this. If so please let me know the coding.

like image 726
Harish Avatar asked Jan 21 '23 02:01

Harish


1 Answers

Above all other, don’t annoy the user. If I’m typing some text and the application prevents that (regardless of how it does that), I’m rightfully pissed off.

There are multiple values to handle this:

  • Use a NumericUpDown or a Slider control instead of a text box for numeric values (in other words: use the correct control instead of a general-purpose control).

  • Allow (more or less) arbitrary input and try to parse the user input in a meaningful way. For example, entering “+33 (0) 6 12-34-56” is an entirely meaningful format for a phone number in France. An application should allow that, and try to parse it correctly.

    Granted, this is the hardest way, but it provides the best user experience.

  • Use the Validating event to validate input. This is automatically triggered whenever the user leaves the input control, i.e. when they have finished their input, and a validation will not annoy the user.

    The MSDN documentation of the event gives an example of how this event is used correctly.

But do not use the KeyPress or TextChanged events to do validation. The first will disturb the users when entering text. The second will also annoy them when they try to paste text from somewhere else. Imagine the following: I am trying to copy an number from a website. Unfortunately, the text I have copied includes something else, too, e.g. “eggs: 14.33 EUR” instead of just “14.33”.

Now, the application must give me the chance to paste and correct the text. If I am not allowed to do that, the application is a UX failure. If the application uses the TextChanged event to prevent my pasting this text, I don’t get the chance to delete the offending text.

like image 68
Konrad Rudolph Avatar answered Feb 04 '23 10:02

Konrad Rudolph