I have a Behaviour written to make a group of justification text boxes visible and required if a checkbox field contains a particular selection. Specifically: if cf 'Selections' contains 'RCCA Done' then cf 'Root Cause' and cf 'Corrective Action' must be made visible and required.
So far I can make the Behaviour work if the desired selection is the ONLY selection checked. As soon as a second selection is added, the fields are hidden as if the desired selection was no longer checked.
//If Selections include RCCA Done, add and make required RCCA content fields.
def cf0 = getFieldById(getFieldChanged())
def cf1 = getFieldByName("Root Cause")
def cf2 = getFieldByName("Corrective Action")
def cfv0 = [cf0]*.value
def RCCA = cfv0.contains('RCCA Done')
def fields = [cf1, cf2]
fields.each {
it.setRequired(RCCA).setHidden(!RCCA)
}
Any help would be greatly appreciated.
After comparing to a functional scripted behaviour my teammate wrote, I discovered the answer:
def cfv0 = cf0.getValue().toString()
So, even though I need to check the values within a list, I should convert the value of the field to 'string' and not 'list'? This is why I'll never understand programming.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.