How to validate state change triggered by "card" move


I have some tasks and they have a state. I can validate and even limit available choices for “state” fields depending on other fields filled on the given task. But I want to use that “card” view. And there is the problem: The script un “On update” and “on save” is triggered, but it seems like they have no real impact, as I still can do state change that is unsupported (I am not able to do that in normal form: How I do it: I check for condition, if the state is changed to non-valid state, I set the state value to original value and I show error message).

The only solution I found that works is to have WF that runs after the update is done and if needed reverts the change. The problem is, that this change is not propagated to the user (for him it seems like the “task” was updated as he requested, but when he tries to update it again, he gets the message, that it was updated in the meantime. So this solved the data integrity, but not the user experience.

Can you please propose something?

Hello,

with the script in the triggers you react only to the Grid, although you disable changing the state with the script, but it binds only to the Grid for “Card” is disable (only it is a different view), but if you want to not change the “state” it can be done with the Role, just select the option “Read” and it will not be allowed to move in the “cards”. Would this have a solution for you? With Regards, Filip Tabidoo.

Hi Filip!

Unfortunately now - the “state” locking depends on setting the other fields. Simple example: You can move that card to “Done” only if the “completed date” is filled.

Also, I need to have it depending on state. You should be able to always take the card from “bucket” and put it to “doing” but not to “done”.

I even tried “throwing” an error during save, but I was not able to stop it.

Why cannot I validate the field before saving them? I would like to be able to validate fields, modify them if needed or throw an error if it is not recoverable.

1 Like

I was able to solve it with “somehow” - tips for anyone wanting to build something similar:

  • On model change: limiting the options
  • On model save: Show error alert to user and plan “reload data” in 2s (to reload changed data from next line)
  • In WA: Automation checking for values (run on the server, after save), which checks the value and if it is in invalid status, it will be changed back.

Hi Pavel and all who are interested in this topic,

It’s working now. When there is a disable position, it can’t be moved as a card.
It’s supposed to work. It’s just that something was being reworked and somehow an error occurred.

With Regards, Filip

@Filip Just if I get you right: If in scripts in “on change” or “on save” I will set the “state” (or any field used for “columns”) to isEnabled=false - I will not be able to move it. Right?

@PavelPancocha

in the new version of Tabidoo, it will be issued a patch.