I am going to give three answers to your question. The first, taking your question literally, is "no." It is not possible to trigger a popup window from the host on the HubNet client.
The second is "yes" under certain very limited circumstances. The example you show, suggests you might have an input box on the HubNet client, which the client user will use to send a value up to the host, and which you want to be a NUMERIC value. If, when creating the HubNet client interface, you specifically select "numeric" as they subtype of input, the user who types a non-numeric entry will get a popup box telling them their input is invalid.
The third answer is a kind of "yes" with one of several "workaround" approaches that might be acceptable to you.
For each of these approaches, I'll specifying NetLogo code that would run on the host computer. This code would normally be placed in the part of the model where you have received the objectionable input from the client. Following the format of the HubNet examples in the Models Library, this would be in a procedure called "listen-clients." I'm also assuming that there is a breed of turtles (i'll call them "students") who are mapped to HubNet clients using a turtle variable (I'll call it "user-id"). This user-id would be initially obtained as the hubnet-message-source of the hubnet-enter-message (and of all subsequent messages from that HubNet client).
So, the options I've seen used for the situation you mention (as I understand it) are...
Workaround A, Send a message to the client in one of several ways.
1) send a "chat" message [ probably not acceptable ]
hubnet-send-message user-id "[your message goes here]"
this will show a message in the user's chat window. I think it's not acceptable for you because it is ignore-able, and because it doesn't identify the part of the interface that caused the problem.
2) send a message that overwrites the input box that they have typed the objectionable input into. Suppose the name of the input box on the client is "entry" So then, if the user types "-8" into the input box, and the number must be positive, you could use the following code:
hubnet-send user-id "entry" "MUST BE POSITIVE"
would lead the input box to be filled (startlingly) with that text. (Note: this works even if the input box was declared to be of numeric-only type)
3) cause a message or condition to appear in the VIEW by using hubnet-view-overrides. Depending on how shocking you want the experience to be for the client, you can manipulate their individualized View. (this is for HubNet models that use View Mirroring).
For example, to make the patch at 5 10 show a message "INVALID" you could say:
hubnet-send-override user-id (patch 5 10) "plabel" [ "INVALID" ]
Or you could make it even more crazy by turning ALL the patches red (along with the INVALID message)
hubnet-send-override user-id patches "pcolor" [ red ]
Then, when the user resolves the issue, you can remove all the view overrides
hubnet-clear-overrides user-id
Option Number 3 is more "advanced" --> i would recommend consulting the User Guide here because the syntax can be confusing. But it is pretty effective in getting users' attention :)
Hope that helps