validation

package
v0.0.0-...-ef65ee7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 11, 2024 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInvalidUsername             = errors.New("o nome de usuário deve começar e terminar com um caractere alfanumérico, pode conter letras, números, pontos, hifens e sublinhados, não pode conter caracteres especiais consecutivos, e deve ter entre 3 e 20 caracteres")
	ErrInvalidPassword             = errors.New("a senha deve ter entre 8 e 64 caracteres, conter pelo menos uma letra maiúscula, uma letra minúscula, um número e um caractere especial")
	ErrInvalidAccountStatus        = errors.New("o status da conta deve ser ACTIVE, INACTIVE, PENDING ou SUSPENDED")
	ErrInvalidStatusReason         = errors.New("a razão do status deve ser uma string não vazia se o status da conta não for ACTIVE")
	ErrCreatedAtCannotBeUpdated    = errors.New("o campo createdAt não pode ser atualizado")
	ErrLastFailedLoginInFuture     = errors.New("a última tentativa de login falhada não pode estar no futuro")
	ErrFailedLoginAttemptsNegative = errors.New("o número de tentativas de login falhadas não pode ser negativo")
	ErrLastFailedLoginReasonEmpty  = errors.New("a razão da última tentativa de login falhada não pode estar vazia se houve uma tentativa de login falhada")
)
View Source
var (
	ErrInvalidFirstName    = errors.New("o primeiro nome deve começar com uma letra maiúscula, conter apenas uma palavra e ter no máximo 20 caracteres")
	ErrInvalidLastName     = errors.New("o sobrenome deve começar com uma letra maiúscula em cada palavra e ter no máximo 50 caracteres")
	ErrInvalidUserEmail    = errors.New("o e-mail deve ser um endereço de e-mail válido")
	ErrInvalidBirthDate    = errors.New("a data de nascimento deve estar no passado, o usuário deve ter pelo menos 13 anos e o ano deve ser entre 1900 e o ano atual")
	ErrInvalidPhone        = errors.New("o telefone ou celular deve estar no formato correto, ou seja, começar com '+' seguido de 1 a 3 dígitos para números internacionais, ou começar diretamente com um dígito para números brasileiros, e ter entre 9 e 14 dígitos no total, sem conter nenhum caractere que não seja dígito ou '+'")
	ErrInvalidProfileImage = errors.New("a imagem do perfil deve ser um URL válido")
)

Functions

func ValidateAccountInfo

func ValidateAccountInfo(accountInfo *api.AccountInfo, operation OperationType, originalAccountInfo *api.AccountInfo) error

func ValidateLoginFields

func ValidateLoginFields(accountInfo *api.AccountInfo) error

func ValidatePersonalInfo

func ValidatePersonalInfo(personalInfo *api.PersonalInfo, operation OperationType) error

Types

type OperationType

type OperationType int
const (
	Create OperationType = iota
	Update
	UpdateProfile
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL