Option to write a Trigger on tab out from an input field

Hello,

There is a requirement to validate the value entered in an input text field when the user tabs out/clicks elsewhere for which I need an option to write a custom trigger logic to check the validity of the input value. Since Tulip doesn’t have an option to write a trigger on tab out / loose focus event, we are having to ask users to enter all values and then click a ‘Validate’ button which checks all values but it’s too late. Is there an alternate approach to accomplish this? Is this planned in a future release?

Thanks,
Ashish.

1 Like

hello @aagarw73, thanks for posting!!

there are two alternatives I’d suggest considering:

  1. add the validation when you go to store the data or move on to the next Step
  2. perform the validation on a Timer Trigger:

would either of these solutions work for you?? let us know!!

We really need triggers to be available on input items, to be able to perform validation etc. This would bring a massive improvement to Tulips functionality, i’m somewhat surprised its not already in there. Please please add this.
The 2 ideas above would not work (for me anyway) as:

  1. I need to check a give used feedback on values before leaving the step and 2) the min timer period is 30s thus no good for validation.
    Yes i can add a button to validate, but that is far from elegant.

Hey Hoss,

We have a couple open feature requests to enable triggers on input selection to streamline this workflow.

These features aren’t yet assigned to a sprint so I can’t give you a good date to expect this functionality, but it is in the works.

Pete

Hey @Hoss1

With r236 (and eventually, LTS9) you can now add triggers that fire on enter for text and number inputs. Along with this, Triggers can be added to any other input that will fire when the widget is interacted with. This should enable you to streamline the process of automatically running a regex check.

Thanks for the great ideas all. This wouldn’t have happened without your ask-
Pete

@Pete_Hartnett I can’t find such an trigger in R254. Any update in which release this will be included?

In our scenario, we have a number input that should be limited to positive integers only. Right now, we have to do the validation using timer workaround.

I want this feature too!

We can write trigger for input widget, but it only triggers the action when the user presses the “Enter” key on his/her keyboard.
User can change the datasource easilly without pressing the “Enter” key, so this is a big loop hole.

We also have input validation from r274, but we cannot force the user to follow the rule.
The validation only shows an error message. User maybe to busy to read the error message, and just transit to the next step.

This idea of adding trigger for “user tabs out/clicks elsewhere” can be a solution to this requirement.

Hi @ta-aoki -

If I am understand your request correctly, this can actually be accomplished now with r274 input widget validation!

You can use button enablement to enforce that validation rules are followed and prevent the user from advancing to next step (or signing off, etc.). In the screenshot below, on the “Create New WO” button, we put in the “enable state” that all required widget must be satisfied. This means that even if the user ignores a rule, they cannot click the button until the rule is satisfied.

Does this address your question / request completely?

1 Like

Thank you @Beth for the information!

I did not know the detail of “Enable state” feature for the buttons.
I also did not know @Current step input validity.All widgets which can be used inside the “Enable state”. Very interesting!

Does this address your question / request completely?

Yes and no.

If the Datasource of the input widget is temporal variable, and we ask the users to press the button to update the main variable (table record field) based on the temporal variable, your proposal works.

If we assign the main variable (table record field) directly as the Datasource of the input widget, your proposal does not work.