Closed petergaultney closed 6 months ago
This is by design. Wave submits only "dirty" state on user interaction.
User fills in form, but the submission to server happens only on button click thus only the changed fields compared to the last submit are submitted.
Each change to a form field causes server submission which means there is always going to be just a single q.args value present. If you need cross-field validation, you need to store the form state into q.client
that can survive throughout serve
calls.
Wave SDK Version, OS
1.0.0
Actual behavior
An application with
ui.form_card(items=[ui.textbox(name='text', trigger=True), ui.button(name='act')])
will causetext
not to be present inq.args
when theact
button is clicked. The exact same application without thetrigger=True
configuration will havetext
present and equal to the value of the textbox when the sameact
button is clicked.Expected behavior
Clicking
act
should always causeq.args.text
to be the value of the textbox in the form, regardless of whethertrigger
isTrue
for the textbox.Steps To Reproduce
"logs":