HI team,
i want to find the type of extension and Size of list of documents and i have used document function and build an expression rule it is working fine in expression rule as expected when i call that expression in an interfcae it is shoowing error as document function is deleted.
a!localVariables( local!size: a!forEach(ri!documents, document(fv!item, "size")), local!extension: a!forEach( ri!documents, document(fv!item, "extension") ), toboolean( and(and(reject( fn!isnull, { a!forEach( local!extension, if(fv!item <> "pdf", false, null) ) } )), and(reject( fn!isnull, { a!forEach( local!size, if(fv!item > 5000000, false, null) ) } ) ))) )
when i use in interface getting error as shown below
Discussion posts and replies are publicly visible
Please note that this method is very unsupported and potentially buggy (and could stop working after any arbitrary update to the behind-the-scenes component code).
Prior to the implementation of the file upload field "validations" parameters that enabled validating on these, I considered it (personally) acceptable to use this work-around if only for the sake of validating. However now that we *can* validate on these aspects of uploaded files, directly using supported OOB functionality, I consider it too risky to use in any production sense (and won't personally recommend it or even directly hint at the capability anymore unless it's in a context where i know it'll be used only for testing or experimentation). So I advise extreme caution / reservation, both for anyone considering adopting this approach, as well as for those providing it in threads here.
Totally agree with Mike's answer. I was in a assumption this is a legitimate approach.
NewBegineer , I would also recommended to not use this method keeping all the risks highlighted by Mike.
There has been some discussion on this internally, but I don't have much of an update at the moment unfortunately. Like Mike said, the best approach at the moment is still to validate using fv!files, and keep adding your use cases.
For instance, I'd be very interested in understanding more about this use case why it is important to disable the button over using the out-of-the-box validation behavior (where it prevents form submission).
Peter Lewis said: I'd be very interested in understanding more about this use case why it is important to disable the button over using the out-of-the-box validation behavior (where it prevents form submission).
I can do the "devil's advocate" position on this one pretty easily: it's often desired to have a "Save Changes" button which skips *most* validations but still validates some more important things (for instance, validating that some text fields don't contain database-breaking lengths, or that there aren't files in place that would be problematically large). Since the simple "validation group" concept doesn't actually handle this, one of my personal favorite workarounds is disabling the "save changes" button when something exists that shouldn't be saved. (There was an entire debate about this just earlier this morning in the Discord). But for this use case, of course, even that isn't directly possible.
Yeah that's a good use case, the context is helpful! I always appreciate a good use case because it gives a better picture into what the overall goal is - like in this case it would be great to have improvements to both validations AND document previews