That is flattering
In the case of simply checking whether a String Widget was not filled, I would use the Regex.
However the default should match the Regex, I do realize that this could be improved. I will talk to the devs.
You could use a default which is clearly a placeholder like “INSERT_YOUR_NAME_HERE”.
If the user removes the placeholder the Regex comes into place.
If the user leaves the placeholder you make the component view in the next page fail with a nice page/error phrase with the option to go back.
Find the workflow here: KNIME WebPortal STRING Input Validation via Breakpoint node – KNIME Community Hub
I would avoid overcomplicating things with loop nodes around the component view.
This is also tricky to test and debug as it can only work well on KNIME WebPortal.
To make it work locally you can use in general the button “Do One Loop Step”
The fact is that this only works as expected in KAP if no interactions are injected back into the workflow.
You need to run things on KNIME WebPortal to interact in each iteration.
In KAP you can still test (via “Apply and Close”) with the first iteration view and then select the loop end and select twice the button “Do One Loop Step”. Starting with the second interact KAP does not let you interact with the view anymore. “Apply&Close” or the new browser “Close & Apply Temporarily” do nothing after the first iteration.
As you can see from the above GIF at the output of the loop only the first iteration interaction were properly saved. This changes if you deploy the same identical workflow on KNIME WebPortal.
To do this GIFs I used this workflow:
Did you already have a look at this other forum thread here?
That forum thread seems related and I provided there 2 more example workflows links:
Helpful?
I would recommend to start looking into a single page application setup.
Look at this example by @srauner :
More on the data app / refresh execution on a single page data app topic at:
You could even make the whole data app in a single component with a few configuration nodes to help a generic KNIME user deploy it more easily with different settings and documentation: