How to suppress a validation rule for a specific SharePoint group?

  • 4 October 2017
  • 5 replies
  • 6 views

Badge +7

I have validation rules for the date fields on my Nintex form. For example, I have one rule that requires the user to enter a future date. Later on down the road, an administrative user goes in and edits this list item, and the date validation rules do not need to be run (for example, the admin user may be adding notes or updating the item status). The dates the user initially entered will likely be in the past by the time the admin user wants to edit this list item. The admin user can always just go into the list view and edit the list item there, but I'd like to allow them to edit via the Nintex form as well. To do that, the date validation rules need to be skipped.

How can I suppress a validation rule (such as one that looks like this: greaterThanOrEqual({Common:CurrentDate}, {Self})) when the user is in the admin SharePoint group I have set up for this for this site?


5 replies

Userlevel 6
Badge +16

Try adding fn-IsMemberOfGroup('MindyGroup') to the rule

Badge +7

Sure. What is the syntax? (I can find examples of enabling/disabling a field or panel using the properties window, but I am not sure how to wrap this around a validation rule)

If not fn-IsMemberOfGroup('xyz') then

greaterThanOrEqual({Common:CurrentDate}, {Self})

This is what I'm after but unclear on what syntax is acceptable to the rule builder.

Userlevel 5
Badge +13

So for the rule builder, whenever your condition evaluates to true, the thing will happen. So for you, I would say not(fn-IsMemberOfGroup('Group') && greaterThanOrEqual({Common:CurrentDate}, {Self})

This would mean the control is invalid if the person is not in the group and your thing is true. Otherwise, if your thing is true, but the person is in the group, the control remains valid.

Userlevel 5
Badge +14



Using runtime functions in the Rule Editor you could write: 

and(not(fn-IsMemberOfGroup("Special Admin")), greaterThanOrEqual({Common:CurrentDate}, {Control:Self}))

which,  if you were viewing the form as a member of the group "Special Admin" and the Date Control was set to a value in the past, would translate to:

and(not(true), (true))

which equals: 

and(false, (true))‍‍‍

which equals: false (because and only equals true if all of the conditions are true). 


*note: I had intended to post this earlier, but it was sitting in a draft unpublished from 4pm EST! Whoops!* 

Badge +7

Thanks everyone for the feedback. Here is what I am using and it works great:

not(fn-IsMemberOfGroup("groupname")) && greaterThanOrEqual(Current Date, {Self})

Reply