Pular para o conteúdo principal

Type Fields — Strings

Type Fields do tipo string encapsulam e validam textos com regras especificas de comprimento, formato e conteudo.

Resumo

ClasseMinMaxValidacao extraArquivo
FString1255string.format_vo.ts
FEmail5200Regex RFC 5322 + lowercase/trimemail.format_vo.ts
FPassword8128Maiuscula + minuscula + digito + especialpassword.format_vo.ts
FFullName2140nome-completo.format_vo.ts
FDescription11000descricao.format_vo.ts
FText14000text.format_vo.ts

FString

Texto generico sem formatacao especifica. Aceita qualquer string entre 1 e 255 caracteres.

import { FString } from "tyforge";

const result = FString.create("Meu texto");
// Result<FString, ExceptionValidation>

const texto = FString.createOrThrow("Meu texto");
texto.getValue(); // "Meu texto"

Config:

{
jsonSchemaType: "string",
minLength: 1,
maxLength: 255,
}

FEmail

Endereco de email valido seguindo o padrao RFC 5322. O metodo formatted() retorna o valor em lowercase com trim.

import { FEmail } from "tyforge";

const result = FEmail.create("Usuario@Email.COM");
// Result<FEmail, ExceptionValidation>

const email = FEmail.createOrThrow("usuario@email.com");
email.getValue(); // "usuario@email.com"
email.formatted(); // "usuario@email.com" (lowercase + trim)

Regras de validacao:

  • Comprimento entre 5 e 200 caracteres
  • Deve corresponder ao regex /^[^\s@]+@[^\s@]+\.[^\s@]+$/

FPassword

Senha segura para autenticacao de usuarios. Exige complexidade minima para proteger contra ataques de forca bruta.

import { FPassword } from "tyforge";

const result = FPassword.create("Senh@Forte1");
// Result<FPassword, ExceptionValidation>

const senha = FPassword.createOrThrow("Senh@Forte1");
senha.getValue(); // "Senh@Forte1"

Regras de validacao:

  • Comprimento entre 8 e 128 caracteres
  • Pelo menos uma letra maiuscula (/[A-Z]/)
  • Pelo menos uma letra minuscula (/[a-z]/)
  • Pelo menos um digito (/[0-9]/)
  • Pelo menos um caractere especial (/[!@#$%^&*()_+\-=[\]{};':"\\|,.<>/?]/)

FFullName

Nome completo de uma pessoa, incluindo nome e sobrenome.

import { FFullName } from "tyforge";

const result = FFullName.create("Maria Silva");
// Result<FFullName, ExceptionValidation>

const nome = FFullName.createOrThrow("Maria Silva");
nome.getValue(); // "Maria Silva"

Regras de validacao:

  • Comprimento entre 2 e 140 caracteres

FDescription

Descricao detalhada com capacidade para textos medios.

import { FDescription } from "tyforge";

const result = FDescription.create("Descricao do produto com detalhes completos.");
// Result<FDescription, ExceptionValidation>

const desc = FDescription.createOrThrow("Descricao do produto");
desc.getValue(); // "Descricao do produto"

Regras de validacao:

  • Comprimento entre 1 e 1000 caracteres

FText

Texto longo sem formatacao especifica. Ideal para campos de observacao, comentarios e conteudo extenso.

import { FText } from "tyforge";

const result = FText.create("Texto longo com multiplos paragrafos...");
// Result<FText, ExceptionValidation>

const texto = FText.createOrThrow("Conteudo extenso aqui");
texto.getValue(); // "Conteudo extenso aqui"

Regras de validacao:

  • Comprimento entre 1 e 4000 caracteres