Solved

Required attachments if number column is a certain value

  • 1 March 2021
  • 2 replies
  • 298 views

Badge +7

Hi 

 

I hope someone can help. I have a requirement to make the attachments control mandatory if one of two number columns >= x number:

 

IF numberColumn1 OR numberColumn2 >=4 THEN Attachments control is mandatory (a document must be attached to submit the form).

 

I can't seem to make this work with regular validation rules. Dose anyone have any guidance on how I could achieve this? 

 

Thanks in advance

 

Harry

 

Platform: SharePoint 2013 Enterprise On Prem

Nintex version: Nintex Forms 2013 ( 2.11.7.10 )

icon

Best answer by Nunezma 18 March 2021, 17:16

View original

2 replies

Badge +11

@harryr You can do this by counting the number of attachments, see my example below:


 


If Witness equals yes then there must be at least 1 attachment


 


Validation rule:  Witness=="Yes"&&GetNumberOfAttachments("nf-form-input5")<1


 


JS:   function GetNumberOfAttachments(attCtrlClassName){
return NWF.FormFiller.Attachments.GetAttachedFilesCount(NWF.FormFiller.Functions.GetFillerDivObjectForControl(NWF$("#"+NWF$("." + attCtrlClassName + " .nf-attachmentsRow")[0].id)).data('controlid'))};


 




 


 


 

Badge +7

Thanks both. 


 


I did manage to get this working using a mixture of other posts and muddling through it.


 


Step 1. Put this function in the custom JavaScript section in the Settings window.


function getNumberOfAttachments(attCtrlClassName){
return NWF.FormFiller.Attachments.GetAttachedFilesCount(NWF.FormFiller.Functions.GetFillerDivObjectForControl(NWF$("#"+NWF$("." + attCtrlClassName + " .nf-attachmentsRow")[0].id)).data("controlid"));
}

 


2. Then on the attachments control, I put in a validation rule that looks at two fields and checks if either (or) has matched a specific value for each:


or(greaterThanOrEqual(DepartmentsInvolved,2), or(greaterThanOrEqual(TotalProjectTeam2,5)) ) && getNumberOfAttachments("nf-form-input") <1

 


The above condition checks if field:DepartmentsInvolved is more than or equal to 2 or if field:TotalProjectTeam2 is greater than or equal to 5.


 


Apologies for not crediting the other posts but it was a mish mash of multiple browser tabs and a few nights sleep since then 🙂


 


Thanks for all the support on this.


 


I hope this helps someone else. Basically, you can reuse that JavaScript as it is and then assign a  rule to the attachments control to check for field values.

Reply