You make the rest of the fields wrapped in a subform and then set visibility of the subform so that only when field is non-empty the subform is visible, by setting property :
Subform.presence="visible".
You can set the access levels of the fields initially to protected and later only in case field is non-null enable users to edit the fields, using the access property:
TextField.access="open"; //"open" to unprotect the fields