... but DON'T change the displayed value in the parameter control.
For example, if a dropdown list of choices for a string parameter shows some long text, how can I send the script some shortened text or even a code for a particular choice without altering self.parameter[i].value; because when you re-set .value, the displayed value in the form changes and user sees the code instead of the more descriptive text.
Another way to ask this question is, say I use a dictionary in my script to assign a short value or code to a variable based on some long text that is coming from a parameter in the form; can I move that step to the validation?
One option would be to write the code value for a longer string to a hidden parameter, but then the tool still sends a redundant argument and if I want to make the script usable independent of a parameter form, I have to do some extra evaluation of the arguments.
Can I intercept the list of arguments just after validation, but before the script is executed?