Scripting in UI policies

UI policy conditions are evaluated both on-load (if the On load tick-box is selected on the Advanced view) and whenever an update is made to any field on a form in ServiceNow. When an update is made, the condition on the UI policy is re-evaluated. If the condition returns true, then the UI policy actions run. If the conditions return false (and Reverse if false is enabled) then the opposite of the UI policy actions run. For example, if the UI policy turns a field mandatory under a certain condition, then when that condition is not met, it will typically explicitly set the field to non-mandatory.

Understanding that these events all happen within the browser (AKA the client) tells us that UI policies are therefore obviously evaluated client-side, which means that the client-side ServiceNow API is available. In the Advanced view of the UI policy form, there is a Script section. In this section, if the Run scripts tick-box is selected, two script input fields will be displayed: Execute if true, and Execute if false. Each script has a pre-defined default value, which acts as the scaffolding for the script:

function onCondition() { 

}

As mentioned in the previous section, any code you write inside of that function will be executed client-side, and thus will have access to the same APIs as any client script. Using these script fields, you can define functionality to trigger when the non-scripted condition is either true or false (depending on which script field you enter it into), as well as additional logic for checking more complex conditions that you weren't able to check using the simple condition builder. One good example of when you might use this functionality, is if you need to check a value on the server in addition to certain client-side conditions in the condition builder, in order to determine whether a field should be made Read only/Mandatory/Visible.

We'll learn all about client scripts and the client-side APIs that we can access in a later chapter on client scripting.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.22.100.180