Hi all,
I have a requirement as:
I have 2 pickerfieldusers as A and B where A can select max 1 user and B can select max 5 user, requirement is when we select user in A then B cannot select that user which is already selected in A and should throw validation error as "A user cannot be selected in B".
I tried putting validation as :
validations: { if( contains( local!taskAdditionalAssignee, ri!record['recordType!{a6f5f29e-a89e-495a-afae-702df167aa19}RECT Record Tasks Sync.fields.{d0fec037-4f71-4d05-a7ef-766635d0ff13}taskAssignedTo'] ), "Assignee cannot be added as additional assignee", null ),
}
but when I open this form then as A and B both contains null value so same validation error throws comparing both A and b having null value which becomes similar
please help me how to achieve this
Discussion posts and replies are publicly visible
Hi appian.user
Can you try this logic it may help you
{ a!pickerFieldUsers( label: "A", labelPosition: "ABOVE", maxSelections: 1, value: ri!inputA, saveInto: ri!inputA, validations: {} ), a!pickerFieldUsers( label: "B", labelPosition: "ABOVE", maxSelections: 4, value: ri!inputB, saveInto: ri!inputB, validations: { if( and( a!isNotNullOrEmpty(ri!inputA), a!isNotNullOrEmpty(ri!inputB), contains(ri!inputB, ri!inputA), ), "Can not select the A user ", {} ) } ) }
Try including null check of the two variables
if( and( a!isNotNullOrEmpty(local!taskAdditionalAssignee), a!isNotNullOrEmpty(local!usersOfPickerB), contains( local!taskAdditionalAssignee, ri!record['recordType!{a6f5f29e-a89e-495a-afae-702df167aa19}.fields.{d0fec037-4f71-4d05-a7ef-766635d0ff13}'] ) ), "Assignee cannot be added as additional assignee", null )
It's better not to show the previously selected user(user selected in pickerFieldUsers field A) in the second pickerFieldUsers field (i.e. B).
thankyou for your responce but still it is not fullfilling the requirement and i have 1 more question -
If I have to choose max 5 user from pickerfielduser then at backened level what should be data type for that particular field as in my case data type is text and I m using recordtype to store data
for reference: this field should hold atleast 5 user after submiting
Thanks for your response but still not fulfilling my need as I have to store max 5 user but at backend level , field that should hold atleast 5 user is of text type.is it possible my field is of text type and i have to store 5 user ?
is it possible that we can exclude the user in B which is already selected in A?
I would advise you to create a new record called additionalAssignees, which will have one to many relationship with the existing record
field is already added in existing recordtype type and databse as well as additionalassignee wihich is text type but it h
but it has to hold max 5 user when selecting from pickerfieldusers
Use the variable to store the list of user selected in comma separated values.
Use joinarray() while storing and use split() while bring it back inside Appian.
It will be stored like userA,userB,userC,userD,userE
After splitting it will list of 5 text
Can you please suggest how should I take new variable and store it as additional assignee as I have store in this way which is not correct