Appian Community and Appian Academy are being upgraded. From July 24–August 3, the Appian Community will be in read-only mode. During this time, the site will be read-only and user registration will be disabled. We apologize for any inconvenience this may cause, but a more secure, stable, and performant Community experience is coming soon!
The new Appian Community launches August 3, followed by Appian Academy on August 7. During the migration, Appian Community Edition, Appian Academy, Documentation, Certifications, Instructor-led Customer Training, Partner Sales Training & Accreditation, and Forum (for Appian Partners and Customers only) will remain available.
Hi everyone,
I’m working on an interface where the user needs to upload an Excel file with the .xlsx extension. My goal is to validate the file extension directly in the interface, before enabling the "ACCEPT" button.
.xlsx
In my current setup, I’m using the disabled parameter of the a!buttonWidget() to check two things:
disabled
a!buttonWidget()
That the variable local!excel is not null or empty.
local!excel
That the uploaded file name (converted to string) contains the .xlsx extension, which I have defined in a constant (cons!CEDT_CONS_EXTENSIONES_DOCUMENTOS).
cons!CEDT_CONS_EXTENSIONES_DOCUMENTOS
When I use touniformstring(local!excel), it only returns the file ID (a numeric value), not the original file name. Because of that, I can’t compare it with the extension constant to validate the file type.
touniformstring(local!excel)
Here I’m attaching a demonstration of the interface when I upload a file that is not an Excel type.
Is there any way to retrieve the original file name (or its extension) from the uploaded file in the interface, so I can perform this validation before enabling the button? Or is there another recommended approach to handle this kind of validation directly in the interface?
Thanks in advance for your help.
Discussion posts and replies are publicly visible
Is this a portal page? If not, a!submituploadedfiles() + a!startProcess() will not work.
In general, find a pattern here: https://docs.appian.com/suite/help/25.3/File_Upload_Component.html#all-files-must-be-pdfs
No, i'ts a Site, and a!submituploadedfiles() + a!startProcess() are working together correctly. already have a validation in the a!fileUploadField to display a message indicating that the file extension must be .xlsx.
a!fileUploadField
.
xlsx
OK, so you try to upload a file outside a process startForm or a user input task. I do not recommend this pattern.
I think the document() function should give you access to file name and extension to do your validation.