Hola, pues pienso que validar en ambos lados {cliente / servidor}, hace mas consistente nuestra aplicacion, claro que esto dependera de los algoritmos que utilizemos para realizar dicha tarea. En cuanto a lo del switch, por que no colocas una variable boleana, cosa que la utilizas como identificador y te olvidas del arrelo de boleanos, al final del switch verificarias su valor, y listo...