Reading the Web Monitoring docs here: https://www.zabbix.com/documentation/4.0/manual/web_monitoring
The items for "Required status codes" and "Required string" are currently worded in a misleading way – they both have the phrase "If empty, no check is performed."
When I read that I thought it meant that this entire scenario step check is not performed. Instead, what is meant here is that checking for this particular criteria (status code or string) is not performed (i.e. ALL status codes are allowed).