Does the client spry validation work?
The reality is that 99% of the people using the page won't ever see the server validation unless they enter the wrong CAPTCHA or security answer or they have javasript turned off the spry validation catches most of it and php isn't really needed.
The server validation and showif code is exactly the same for a list as it is for a text field. But it has to be added to the server validation on top of the page as well with a unique identifier and that identifier has to be referenced in the showif. It is best to use the Validation Toolkit for this if you are not a php guru.
I'd start with getting spry to work... Then get the validation added to the server validation on top of the page... then try to get the message to show.
Take it one step at a time and it should be pretty easy to do... I'm not sold that having a sample field would help since validation still isn't quite as simple as cutting and pasting even in that case.