2 Replies Latest reply on Dec 20, 2010 11:44 AM by miw

    Validation via Script - how to prevent tabbing to next field



      Validation via Script - how to prevent tabbing to next field


      I have a field that I want to validate via a script and not in the field definition.  This allows me some better control and flexibility in what kind of input can be accepted (also, I found that he validation through the field definition in a table only validates when the record is being saved and not during the input process).

      I can get my script to perform the validation properly when I have a script to trigger upon OnObjectExit.   But if I exit the field by tabbing (which I want to be able to do, especially if the input is valid) once my script is run, I cannot get it to focus back on the invalid field - instead the layout goes to the next field in the tab order.  How can I get my script and end result to retain the focus on the subject field?

      If [Record::PeriodStart >= 0 and Record::PeriodStart <= Year(Get(CurrentDate))]
           Go to Next Field
           Show Custom Dialog ["Invalid Input"; "The Start Year should be numeric with a date range of 0 to "& Year(Get(CurrentDate))  [[Button 2 will accept the erroneous input as is and Button 3 will go back to revise input]]
      End If
      If [Get (LastMessageChoice)=2
           # accepts even erroneous inputs
           Go to next field
           Refresh window
           Halt Script
      End If
      If [Get (LastMessageChoice)=3
           Set Field [Record::PeriodStart; ""]
           Go to Field [Record::PeriodStart]
           Refresh Window
      End If