Remove Required from fields with button

  • 1
  • Question
  • Updated 3 months ago
  • Answered
I would like to add a "Developer Mode" button that removes the "Required" validation from fields so I can test it without having to enter data in all the fields. 

What would be the easiest way to do this? I was looking at appending to the XML document, but I'm not sure how I would do this?

Appreciate any help you can give.

Thank you
Photo of Sam Becker

Sam Becker

  • 1,178 Points 1k badge 2x thumb

Posted 3 months ago

  • 1
Photo of Stephen Sells

Stephen Sells, Official Rep

  • 16,856 Points 10k badge 2x thumb
You could clone the components, then set a render condition so that only developers see the different components where the "Required" sections are chosen. Then you could put a render condition on everything else that hides it for developers. 
Photo of Sam Becker

Sam Becker

  • 1,178 Points 1k badge 2x thumb
Thank you for the reply Stephen! However, I would like to find a way to not have to clone everything in on the page since there is a lot of other conditional rendering and custom code that runs on different elements along with all the changes I'm going to make.

I tried just running a script that removes the "required" class from different elements, but that doesn't do the trick.

I'm guessing I would need some code to remove the "required" attribute from the XML elements and then re-render the page. But, I'm not sure what that code would look like. 

Does anyone have an example of how to remove an xml attribute with a script and then re-render the page?

I may not have all the pieces to how to do this yet, so please correct me if I'm wrong.

Thank you,

Sam
Photo of Zach McElrath

Zach McElrath, Employee

  • 49,056 Points 20k badge 2x thumb
Are the fields required at the database level, or just required at the ui level? You could use a script to remove the XML "required" attribute and re-render the Field Editor, but... would rather not encourage that sort of hackiness :)

here's another idea --- could you pre-populate dummy values for all the required fields via a Model Action? You could conditionally provide dummy values for the fields based on the Profile / Usernames / User Ids of the user viewing the page. If you add a Model Action to the Model(s) that need sample fields, you could add have the Initiating Event be "Row created", and then have a "Branch" Action that checks to see if the running user's profile name is some value, or if the User Id is one of a set of values, and, if so, then run some "Update Row" Actions to pre-populate dummy values.

Or alternatively there could be a conditionally-rendered button on the page that says "Populate dummy data", and you could only render this button based on the user id / profile id, and have this button pre-populate dummy values.
Photo of Sam Becker

Sam Becker

  • 1,178 Points 1k badge 2x thumb
Great Idea Zach! Half of me just wanted to learn how to do this via XML, but the alternative idea is much better. I'll just add a developer mode UI-Only field on the UI Model and then branch action on the buttons that create rows to populate the data if checked to where I don't have to enter it every time I run through the app. Then only show the developer mode button on my profile that way it won't show on the public profile.

Thank you!