Dynamic form input requirements

Hello,
I am designing a form for a client:
The end user can either upload a file or enter text in a text area.

The property is required.
The upload will be handled by a FileInput by Kartik.

I would like to have a dropdown or radio buttons that the end user selects whether to upload a file (the FileInput becomes visible/active) or enter text in the text area (this becomes active and disables/hides the FileInput)

Regardless of what the user chooses (file upload or text), the input should be required.

How can I achieve this without using too much JavaScript?