On 2019-02-05 20:25, Paul Dupuis via use-livecode wrote:
I have a problem for which I should probably redesign the user
interface, but would rather not do so for many reasons.
The problem is this:
1) There are some fields on a card. Each field has a "closeField"
handler that checks the fields content for validity and presents
appropriate error messages (via a standard 'answer" command).
2) There is an "Import" button that collects the field values and lots
of other data and does a task in my application.
3) If a user edits a fields and enters an invalid value and does not
click, tab, or press the return key to "close" the field and trigger
the "closeField" message, but immediately clicks on the "import"
button, my import script starts using the invalid value from the open
field while at the same time a closeField message does get send and an
answer dialog appears telling what is invalid about the entry.
However, I am wondering if anyone in the LiveCode brain trust has
figured out a better way to handle something like this?
How about this...
In your closeField handlers, if the field fails validation do:
if <not validated> then
answer "Field failed validation" with "Oops - I'll correct it" or
"Cancel"
if it is "Cancel" then
exit to top
end if
focus on me
exit closeField
end if
Then in your import button do:
on mouseUp
focus on nothing
if the selectedField is not empty then
exit mouseUp
end if
answer "Go!"
end mouseUp
This should mean the import step won't run until a closeField handler
has successfully finished.
Warmest Regards,
Mark.
--
Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps
_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode