OK - I spotted the issue with the <div>s needing to be within another row, so that has fixed the query validation when no images are selected.
So the only thing wrong now is the title and details fields retaining any text if the image width heights validations fail so that people don't lose it and need to add it again.