Found the solution with the evalrule.
Code:
var mychoice as string
if (field[usrChosen1].ischosen <> 0) then
mychoice = "Edge." & field[usrChosen1].chosen.idstring
endif
validif (hero.tagsearch[mychoice] <> 0)
Swapping out the whole lastpos() thing for the bero.tagsearch[] worked perfectly.