dovetail_form_validation 0.1.1
dovetail_form_validation: ^0.1.1 copied to clipboard
Field validation for forms: seven composable rules, a builder to combine them, and failures that say which rule broke instead of a message the caller has to trust.
Changelog #
0.1.1 — 2026-09-09 #
Nada no código mudou. A 0.1.0 foi publicada com o README em português e com avisos que deixaram de ser verdade no momento em que o pacote saiu — "parte do dovetail, versionado só localmente" era um deles. A página do pub.dev é congelada na versão publicada, então esta versão existe para substituir o que ela mostra.
O que muda: README em inglês no caminho canônico, com o português ao lado em
README.pt-BR.md e um seletor de idioma no topo dos dois. A instalação passa a
mostrar a dependência publicada em vez de um caminho para dentro do monorepo.
0.1.0 — 2026-09-08 #
As sete regras de formulário do produto, portadas do front React que sai.
required,min,minTrimmed,email,sameAs,digits,pastDate— compostas porField(...)e porValidationComposite, que para na primeira falha porque formulário com seis mensagens é formulário que ninguém lê até o fim.failuresByFieldmarca todos os campos ruins com uma mensagem cada.- A falha é tipo selado, não chave de tradução: o
AppLocalizationsgerado expõe getters e não busca por string, e devolver a mensagem pronta obriga a reconstruir o validador a cada troca de idioma. Oswitchque vira frase é da tela, e é exaustivo. FieldIsTooShortcarrega mínimo e comprimido;FieldHasWrongLengthcarrega esperado e recebido — para a mensagem poder ser "faltam 3 caracteres".digitssepara tamanho errado de caractere errado, que o front antigo tratava como a mesma coisa.pastDaterecusa 30 de fevereiro.new Date('1990-02-30')rola para 2 de março eDateTime.tryParsefaz igual, então aquele aniversário era aceito calado como um dia diferente do digitado.- O regexp de e-mail veio caractere por caractere do front antigo: mudá-lo passaria a recusar contas que já existem, e isso é decisão de produto.