Validaor using Visiter Pattern