validate user attributes
validate user attributes
length validation
avoid duplicate email-addr
validate case-insensitive uniqueness of email
guarantee uniqueness of email on database level
Make a basic User model including secure passwords