validation and bcrypt