I tell everyone the same thing about access control. Don't check access.
Also, never check file existence.
These things just take up time, introduce race conditions, and can't be trusted anyway.
That said, there are reasons to want to check some things with UI-level validation because calls to a slow back end are slow. Thus the name. I get that.
So if you're doing UI validation, don't get it right. Just get it mostly right. And do it fast. Cheat!