Invalid Form when updating field in App Builder

Hi team, I think I must be doing something wrong here!

I have created a Text Input field in a page on my app. The default value is Data source > Ticket > [ALL] > Name. In this case, there is only a single ticket because the data is being filtered (by a field Ticketnumber).

I have also created a button with the onclick event “Update Row”. the Row ID is Data source > Ticket > [All] > Id.

The only other field in the On click event I have entered is “Name”, which is "Form data > [Name - which appears as the actual data in the text box].

when I test the app and click the button, I get the error:

Invalid form
One or more fields contain invalid values.

Does anyone have any idea what I’m doing wrong?

Thanks in advance.

Sorry. I worked out that I need to use for Row ID in the button:

Data source > Ticket > 0 > Id

But I’m not sure why, when there is only 1 ticket due to the filter…

OK fast forward 24 hours and it’s not working again - although I changed nothing… I’m not sure where to go from here.

OK I think I’m getting closer to the cause. I have 2 text form fields on the page and 1 button. Both forms are set to having the data source field value as default value. If I update BOTH, I can submit the form. If I update one I get “Invalid form”. If I update the other, it’s fine! It seems similar to this issue: Issue when updating a row with app builder form. Yet a little different. Running v 1.24.2

Sorry for the constant updates! If I create a seperate button for each text input field, it’s fine. Also I should note. This isn’t using the “Form” element, but multiple “Text input” elements and a button.

This is the error I see in the Chrome DevTools:

image

Hey @spook, no worries! I’ll ask someone from the Application Builder team to check your case. :slightly_smiling_face:

OK I think I worked out what it was (sorry) I was using “List Rows” as the data source, not “Get Row”. I recreated the page using “Get Row” and I’m not having the issue.

1 Like

Hi @spook, sorry for the delay in replying to you. I’m a developer from the application builder team. I’m glad you managed to get this sorted, if you have any further trouble, please don’t hesitate to get back in touch with us! I hope you’re enjoying the application builder :slight_smile:

1 Like

Thanks Peter. I’m not sure if it is intentional or not, but it seems that you can have similar behaviour by choosing “List Rows” and filtering by ID or another field to narrow down to a single field than with “Get Row”. However, if you do the former way (List Rows) you seem to get unexpected behaviour when you try to update the form. Now I know what the issue was through trial and error, I’ll be more cautious in the future, but I’m not sure if it is a bug or by design…

Hey @spook, I’d love to look into this further. Am I right in thinking you’re having issues with choosing the right datasource (list rows / get row) in your action?

When you use the “update row” workflow action, a specific row ID is required. You can enter a variety of different values in the row ID field:

  • An ID, manually
  • A page parameter (if the page has any parameters)
  • A user ID
  • A list rows datasource (you’d have to choose a specific row > its ID field).
  • A get row datasource (you’d choose the ID field).

Based on what is entered, we will look for a row in the workflow action’s table and update the row with the field values you’ve configured in your workflow action’s form.

I hope this helps!