This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- Re: Validating user entered proper time format in dialog data filed
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
Mar 04, 2013
03:45 PM
Validating user entered proper time format in dialog data filed
To anyone:
I have created a custom dialog with serveral data fields for the user to enter the relative data into. One being "Start Time", which is a custom label. It is simply a text box where the user needs to enter the time they wish to have a function start in sql server. The time must be entered in military format. I want to validate the time is entered correctly by the user. Ultimately, I would like the installer to check the string entered into the data field to have 6 numeric characters only. After validating the number of characters, I want the installer to validate that the time entered is a real time (ex. of a wrong time: 260000). I want a message box to appear specifying the error and then when "OK" is clicked upon, the dialog does not advance, but provides the user to correct the mistake. The function to be executed at said time requires a Start Time and an End Time. If I place a bDone = True at the top of the code block then an if(svValue =...) then MessageBox("error", WARNING); bDone = False at the end, it works. But I need to do this in two places. I need to check to see if the start time is entered properly (one validation), then I need to check and see if the End Time is entered properly (second validation). Here it is:
bdone = true;
CtrlToText(svDialogID, RES_MAINT_START_HOUR, "");
TextToString(svValue, "");
if (StrLength(svValue) < 6) || (StrLength(svValue) > 6)then
MessageBox("There is an error in the way the 'Start Time' and/or the 'End Time' was entered. " +
"Example for 12:15:30 AM: '121530' ", WARNING);
bDone = FALSE;
endif;
bdone = true;
CtrlToText(svDialogID, RES_MAINT_END_HOUR, "");
TextToString(svValue, "");
if (StrLength(svValue) < 6) || (StrLength(svValue) > 6)then
MessageBox("There is an error in the way the 'Start Time' and/or the 'End Time' was entered. " +
"Example for 12:15:30 AM: '121530' ", WARNING);
bDone = FALSE;
endif;
This was my original thinking to simplify the process, but it does the one validation at the top and automatically advances after showing the messagebox rather than giving the user the ability to correct his/her entry. If I remove the first validation, the second one behaves the way I want it to. However it only behaves with regard to the second entry not the first. Anyone have a any ideas?
I have created a custom dialog with serveral data fields for the user to enter the relative data into. One being "Start Time", which is a custom label. It is simply a text box where the user needs to enter the time they wish to have a function start in sql server. The time must be entered in military format. I want to validate the time is entered correctly by the user. Ultimately, I would like the installer to check the string entered into the data field to have 6 numeric characters only. After validating the number of characters, I want the installer to validate that the time entered is a real time (ex. of a wrong time: 260000). I want a message box to appear specifying the error and then when "OK" is clicked upon, the dialog does not advance, but provides the user to correct the mistake. The function to be executed at said time requires a Start Time and an End Time. If I place a bDone = True at the top of the code block then an if(svValue =...) then MessageBox("error", WARNING); bDone = False at the end, it works. But I need to do this in two places. I need to check to see if the start time is entered properly (one validation), then I need to check and see if the End Time is entered properly (second validation). Here it is:
bdone = true;
CtrlToText(svDialogID, RES_MAINT_START_HOUR, "
TextToString(svValue, "
if (StrLength(svValue) < 6) || (StrLength(svValue) > 6)then
MessageBox("There is an error in the way the 'Start Time' and/or the 'End Time' was entered. " +
"Example for 12:15:30 AM: '121530' ", WARNING);
bDone = FALSE;
endif;
bdone = true;
CtrlToText(svDialogID, RES_MAINT_END_HOUR, "
TextToString(svValue, "
if (StrLength(svValue) < 6) || (StrLength(svValue) > 6)then
MessageBox("There is an error in the way the 'Start Time' and/or the 'End Time' was entered. " +
"Example for 12:15:30 AM: '121530' ", WARNING);
bDone = FALSE;
endif;
This was my original thinking to simplify the process, but it does the one validation at the top and automatically advances after showing the messagebox rather than giving the user the ability to correct his/her entry. If I remove the first validation, the second one behaves the way I want it to. However it only behaves with regard to the second entry not the first. Anyone have a any ideas?
(1) Reply
Mar 05, 2013
01:45 PM
Perhaps this is what you are looking for?
HTH
bdone = true;
CtrlToText(svDialogID, RES_MAINT_START_HOUR, "");
TextToString(svValue, "");
if (StrLength(svValue) < 6) || (StrLength(svValue) > 6)then
MessageBox("There is an error in the way the 'Start Time' and/or the 'End Time' was entered. " + "Example for 12:15:30 AM: '121530' ", WARNING);
bDone = FALSE;
else
CtrlToText(svDialogID, RES_MAINT_END_HOUR, "");
TextToString(svValue, "");
if (StrLength(svValue) < 6) || (StrLength(svValue) > 6)then
MessageBox("There is an error in the way the 'Start Time' and/or the 'End Time' was entered. " + "Example for 12:15:30 AM: '121530' ", WARNING);
bDone = FALSE;
endif;
endif;
HTH