validator in client