I have to validate a editable grid for the following scenario -
I have two fields in the grid 1. Role 2. Location
use case - if the user select combination of same role and location as a duplicate then it should thrown an validation error like combination of role and location already exits.
example - if the user select role as developer and location as india and again he adding a new row and selecting the same role and same location it should throw an error
any one suggest some idea
Discussion posts and replies are publicly visible
I have much easier way.
a!localVariables( local!array: { { role: null, Location: null } }, a!gridLayout( headerCells: { a!gridLayoutHeaderCell(label: "Role"), a!gridLayoutHeaderCell(label: "Location") }, rows: a!forEach( items: local!array, expression: a!gridRowLayout( contents: { a!dropdownFieldByIndex( choiceLabels: { "Abc", "Def", "Ghi" }, validations: if( count(wherecontains(fv!item, local!array)) > 1, "Combination of role and location should be unique.", {} ), value: fv!item.role, saveInto: local!array[fv!index].role, placeholder: "-" ), a!dropdownFieldByIndex( choiceLabels: { "L1", "L2", "L3" }, validations: if( count(wherecontains(fv!item, local!array)) > 1, "Combination of role and location should be unique.", {} ), value: fv!item.Location, saveInto: local!array[fv!index].Location, placeholder: "-" ) } ) ), addRowLink: a!dynamicLink( label: "Add", value: append(local!array, { role: null, Location: null }), saveInto: local!array ), ) )
Oh yes. We do not need multiple whereContains(). Nice catch Ujjwal!