I have created a Nintex form with four tabs across the top with corresponding panel
sections. Each tab/panel is for an approval process with buttons of 'Approved' or 'Denied' at the bottom of each
panel. The business unit is now asking for mandatory comments to be entered should one of the Approvers select DENIED. Easy enough to add a Validation rule on the Denied control button of: isNullOrEmpty(ReasonforDenial)
Here comes the problem, there are two tabs/panels that this validation rule need to run on.
The other rule I have for the Final Denial is: isNullOrEmpty(ReasonforFinalDenial)
The problem comes in where when the form is being filled out by the end user, and the first denial
happens, the user enters in comments and clicks on the DENIED button, however,
it doesn't close the form. The form is waiting for the second (final denial)
comments to be entered and the Final Denial button to be selected before the
form with save and close.
I have tried so many different variables at this point trying to get this to work because both
denials would be happening at different times - different stages of the
workflow - and in different tabs of the form. I have even tried the Validation
rule of: isNullOrEmpty(ReasonforDenial)||isNullOrEmpty(ReasonforFinalDenial)
Is this impossible because my form is set up with panels connected to the tabs at the top?
See screenshots and see what I mean...the first SR Management Review takes place. If they deny, with comments, the form is still waiting for comments and the Final Denial in the Final Review Tab.
Hi Kristi! Welcome to the community!
Are you also tracking form state / status in a field in your form? Would it help in your validation to be able to say something like status == "FinalReview" && isNullOrEmpty(ReasonforFinalDenial)? Then you could exclude the final approval rule since your form wouldn't be in that state / status. How are you tracking what role is the current approver needed, and if they approved for denied?
However, maybe I am misunderstanding what you are needing to do...
Hi Jess!! Thanks for the welcome! I have been 'lurking' for a while now.
I am tracking the Project Status in the Workflow. Additionally, I do have the control for the Approve or Deny connected to the Project Status with a unique identifier for each stage of the approval process. Let me give this a try with your suggestion above real quick.........hang on please........no Happy Slap today my friend. This isn't working. Project Status=="Initial Denial" && isNullOrEmpty(ReasonforDenial)
Just to clarify, I have the Validation rule running on the Button Control.
Any other suggestions? You are always full of good ideas!!!
Oh, and to add in, with the formula above, it is just Denying with no prompt to add comments or anything. I also tried it the other way around with the isNullOrEmpty() first. Also tried it with no space between the && and also tried it with single quotes and double quotes around the "Initial Denial". Just FYI.
When you use Project Status && isNullOrEmpty() together in both tabs, what happens? Do you still see the form requiring both sets of fields, even though you are referencing different Project Status values in the validation rules?
When this validation rule is used, the for is not requiring any comments to be entered. You can click on Denied and the form just saves and goes away - I tried it in each tab and it works the same way.
Things that make you go hmmmmmm............
OK, so my next thought is when is the Project Status value being set, and what is setting it? Is the Project Status being changed to "Initial Denial" by the Denied button? Or something else?
I'm wondering if the correct Project Status is being set prior to form submission, when the validation rules fire...
The Project Status is not pre-defined. The Button Control defines the project status at the time it is clicked. This also helps my workflow move from state to state. So yeah, looking at that, having the project status in the validation rule would not work because the rule will run at the same time the project status is determined because both motions are set by the same action. I would love to sit down with someone (you) who knows a whole lot more than me (you) sometime and run through this is anyone (you) ever had time to do so.
Nintex with O365 is a whole new experience.
It is almost like the functions are overlapping each other. If I have the validation formula in just one of the button controls as isNullOrEmpty(ReasonforDenial) ... then it works just fine. It is putting the validation rule in both. I am still wondering if this is a panel issue.??