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
Use a local variable to store all the selected users as a list. When you write to record, use joinarray(localVariable,",")
When you load the value from record use
local!taskAdditionalAssignee: split(ri!record[recordField],",")
thankyou so much for your helpplease help me how can I put validations as it is not woking by this
validations: { if( and( a!isNotNullOrEmpty(local!taskAdditionalAssignee), a!isNotNullOrEmpty(local!taskAssignee), contains( touniformstring(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 ),
I have added touniformstring beacuse it was throwing error as-
local!taskAdditionalAssignee as user type and
(ri!record['recordType!{a6f5f29e-a89e-495a-afae-702df167aa19}RECT Record Tasks Sync.fields.{d0fec037-4f71-4d05-a7ef-766635d0ff13}taskAssignedTo']) as text
if you have any suggestion please let me know
error is something like this:
Interface Definition: Expression evaluation error at function 'contains' [line 275]: Invalid types, can only act on data of the same type (User, Text)
Try wrapping both variables that you are comparing with touniformstring()
not throwing any validation now-
validations: { if( and( a!isNotNullOrEmpty(local!taskAdditionalAssignee), a!isNotNullOrEmpty(local!taskAssignee), contains( touniformstring(local!taskAdditionalAssignee), touniformstring(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 ),
is there any way we can convert text type to user type?
You can use touser()
still not throwing any validations-
validations: { if( and( a!isNotNullOrEmpty(local!taskAdditionalAssignee), a!isNotNullOrEmpty(local!taskAssignee), contains( local!taskAdditionalAssignee, touser(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 ),
I tried wrapping up of both with touser
What is value in
local!taskAdditionalAssignee and
ri!record['recordType!{a6f5f29e-a89e-495a-afae-702df167aa19}RECT Record Tasks Sync.fields.{d0fec037-4f71-4d05-a7ef-766635d0ff13}taskAssignedTo']