Upload Multi Document Validation Failed 17.1

I have a function that works great with 7.11 but when we converted to 17.1. I get a Text into type FieldLayout error. I have tried puting the Text in a local but it is the isnull function(i beleave) that is wanting to covert it to a FieldLayout. In the Rule i have with the Attached code works great but when i add it to the Interface to validate the files and run it in Tempo it fails not sure what i am doing wrong or why it is trying to turn the Text in to a FieldLayout type.

Error: Expression evaluation error in rule 'nml_fileextensionvalidation' (called by rule 'nml_ui') at function 'or': Invalid index: Cannot index property 'uploadedDocumentName' of type Text into type FieldLayout
Code: is Attached


Any help word be appreciated!

OriginalPostID-271928

  Discussion posts and replies are publicly visible

Parents
  • Marieh, not sure I understand exactly what you're trying to do in this code, but it looks like you should have one (or many) a!fileUploadFields, but when you are running the validation rule, it should be checking the VALUE of that field instead of using the field layout within your or() statements. Right now it's trying to compare a file upload field with a text string which is likely causing your error.

    Couple of additional notes from your code:
    -An or() with a nested or() with no other logic is the same as one large or() statement. Thus, you don't need the nested or() in your first line
    -functions like or() and contains() return booleans by nature, so there is no need to wrap them in if() statements to return true/false
Reply
  • Marieh, not sure I understand exactly what you're trying to do in this code, but it looks like you should have one (or many) a!fileUploadFields, but when you are running the validation rule, it should be checking the VALUE of that field instead of using the field layout within your or() statements. Right now it's trying to compare a file upload field with a text string which is likely causing your error.

    Couple of additional notes from your code:
    -An or() with a nested or() with no other logic is the same as one large or() statement. Thus, you don't need the nested or() in your first line
    -functions like or() and contains() return booleans by nature, so there is no need to wrap them in if() statements to return true/false
Children
No Data