You can modify field descriptions and red warning messages on-the-fly, possibly to reflect changes in requiredness. Example, on changing the priority to Blocker (or Highest in newer Jira versions), the Description help text changes:

To do this you put a validator on for example, "Priority", with the following code:

def formField = getFieldById(getFieldChanged())
def descField = getFieldById("description")

def priority = formField.getValue()?.name
if (priority == "Highest") { // choose priority by name
    descField.setHelpText("Please explain why priority is Highest.")
    descField.setRequired(true)
} else {
    descField.clearHelpText()
    descField.setRequired(false)
}