Implementing dynamic UI behavior where one field appears or disappears based on the value of another is a common task in Guidewire Page Configuration Framework (PCF). To achieve this " conditional visibility, " two distinct configuration steps are required to ensure the user interface remains responsive and accurate.
1. Triggering the UI Refresh (Option B)
By default, the Guidewire web client does not send data to the server until a major action (like clicking " Update " or " Next " ) occurs. However, when one field ' s state depends on another, we need an immediate update. Enabling postOnChange on the " triggering " field—in this case, Preferred Vendor?—tells the application to perform an asynchronous (AJAX) request as soon as the user modifies that field. This refresh allows the PCF logic to re-evaluate properties for all other widgets on the screen.
2. Defining the Visibility Logic (Option C)
Once the page is set to refresh, the " target " field—the BBB Rating—must know when it is allowed to be seen. This is handled by the visible property. In Guidewire Studio, the developer enters a Gosu expression in the visible property of the BBB Rating widget, such as: contact.PreferredVendor == true (or the equivalent boolean/typekey check).
Why other options are incorrect:
Option A: The onChange property is for executing logic (like setting a default value), not for controlling visibility. Setting a value won ' t make the field appear.
Option D: Enabling postOnChange on the BBB Rating field itself is useless here, as it is the field being shown, not the field causing the change.
Option E: Setting the editable property only controls whether a field can be typed in; it does not hide the field from view, which is what the business analyst requested.
By combining postOnChange on the source and a visible expression on the target, the developer creates a modern, reactive user experience that adheres to Guidewire UI best practices.