A ver prueba esto...
Haz un metodo que revise los valores de todos los campos en cuestion.
Este metodo tendra como parametro, el nombre del campo que
quieras revisar, tambien podria tener un parametro que indique que se revisen todos los campos. Este metodo se llama desde los valids de
todos los textboxes o controles. Algo asi
thisform.ValidarCampos(cNombreCampo)
Ahora, si quieres checar los campos antes de salvar llama otra vez el
metodo, indicando que quieres revisar todos los campos.
El metodo debera devolver un valor indicando si el resultado de la validacion fue correcto o no para asi poder slair del valid o para poder
salvar los datos.
En tu caso tal vez no es tan necesario lo que te expongo, ya que es muy dificil que un dato malo se cuele sin haber hecho la debida validacion
en el evento valid, es decir, es casi inncesario volver a correr la validacion.