I think 2 steps.
#1.simply use rule, but this alone will not turn the button inactive when text is emptied AFTER it had value (like user entered info, then deleted it back to empty).
setting a variable name for the text widget, and defining the Active rule for the button widget like this.
"[[text_widget_variable_name]]" != "";
#2. in the button script or prelaunch script, check that the value you require is filled in.
Like this,
var text_widget_variable_name = RMPApplication.get("text_widget_variable_name");
if(text_widget_variable_name == ""){
false;
}
Best regards,
Taka