Re: Forms with Microsoft SharePoint
You might be better off in a SharePoint community, to be honest, @BeakalSebsebe ... however I believe that if you have the columns for this, then you can achieve this by making a library specifically for the files.
Then add a lookup column to the library, which looks up your target list.
Then, add all the columns of data that you want to gather about the file to the library, add everything there, just like it were a list, and then mark which ones you want marked as required. Adding required fields will stop just anything being added, and if you want an extra layer of security you can put validation on the columns to ensure they have the right information in them.
Now you can wrap a flow around this to react to new and modified items, with a trigger condition on every column that you want to ensure that it doesn't run unless there's value there. That will not let the flow start without key columns not(equals(COLUMN_REF, null)) (you can rabbit hole that to check for empty and blank items too) and mean that you won't be inundated with updates / flow runs.
Then use the flow to update the parent list with the file.
Apologies I'm not doing the super detailed response, here ... don't currently have the wherewithal I'm afraid!