How to differentiate between manually entered vs. pre-populated fields?

When using Catalog and the Save and Resume functionality, there may be a need to differentiate pre-populated data, and data from a previously saved session.

In its current state, the platform does not distinguish between pre-populated (from your book for record/database) & pre-populated (from a resumed session). As such, there is not an option/toggle you can use to say that only the initially pre-populated information, not the resumed information, should be disabled.

Having said that, like most actions on the platform there is a least one creative approach you could use to likely accomplish this business need.

Notes:

  1. Rather than using the toggle “disabled when pre-populated” you will have to use the Advanced field settings (Conditions) to mark a field as disabled when a certain condition is met.
  2. When you initially pass the information, that should be disabled into the form, you will need to include additional information (key/value) that specify which fields should be disabled. Once again, there are a few different ways you can likely do this -- I’ll give a quick example of a few below.
  3. You will need to define the new fields that are passed into the form on the start panel in order for you to be able to access them in the conditionals panel.
  4. On each field you want to be disabled, simply set the condition to look for the secondary value you passed in.

Example of initial payloads when launching a form:

{

“client.firstName”: “Joe”,

“client.LastName”: “Smith”,

“client.id”: 12345,

“disabled.firstName”: “Yes”,

“disabled.LastName”: “Yes”,

“disabled.id”: “Yes”

}

Under the Advanced conditions for these fields, you could then set the condition to:

"Disable this field IF disabled.firstName is equal to True"

Assuming you follow those steps, any saved sessions will include all of the data from above plus any new fields captured during the session. The difference, however, is that the new fields will not have the equivalent “disabled.fieldName” set to “Yes”, so even if those fields have the conditional logic assigned to them, they will remain editable.

This approach requires a little upfront work but will give you the flexibility to create whatever workflow you require.