Don't worry about being inexperienced - everyone is when they start. Count yourself lucky that TekTips exists, along with near-ubiquitous Internet access. When I started, I could only ask my collegues - and only when they were around !
I also added @If(validCheck="1";True;False) to the QuerySave.
Are you sure you typed it in as above ? If so, you have an error, it should be :
Code:
@If(validCheck="1";[b]@[/b]True;[b]@[/b]False)
That might account for one issue.
As for skipping requirements, you can do one of two things : code a check in Script, or include another field and do the check in Formula. I admit that I prefer doing the latter.
In Script, you can obviously do just about anything, but it is often more complicated than when a Formula exists for the same thing. For roles, a formula does exist : @UserRoles.
Therefor, the easiest thing to do is create a RoleCheck field with a formula that will verify if the current user has the assigned role or not. Make it a ComputedForDisplay field, and enter the formula :
Code:
@if(@contains(@UserRoles;"[i]<name_of_role>[/i]");"Y";"N")
This code will check if the user has the named role, and if he does, the field will contain "Y".
Your ValidCheck field then needs to be changed in order to take into account the feature you wish to add :
Code:
@if(RoleCheck="Y";@true;@if(ValidCheck="1";@true;@false))
Be wary of another thing : when you assign a Role in the ACl, you get 15 chars to name it, but when you check the role in the list, you see it has square brackets around the name you just assigned. Those square brackets ARE part of the name, therefor you need to code for "[name_of_role]" when you refer to it in a Formula or Script code.
Pascal.