Orientação gerada a partir de informações públicas. Apenas para referência.
Inspection é um pacote Dart e Flutter que fornece validação de entrada de formulários e dados inspirada no framework Laravel. Permite aos desenvolvedores definir regras de validação de forma declarativa, garantindo verificações robustas e consistentes de dados em várias plataformas. Com suporte a validadores personalizados, mensagens de erro e regras encadeáveis, simplifica o tratamento de formulários em aplicativos Flutter. O pacote funciona perfeitamente em Android, iOS, Web, macOS, Windows e Linux, tornando-se ideal para aplicações multiplataforma que exigem lógica de validação forte.
Casos de uso
Validação de formulário em aplicativos Flutter
Verificações de integridade de dados antes da submissão
Implementação de regra de validação personalizada
Consistência de validação multiplataforma
Feedback de entrada em tempo real
pré-processamento de dados de solicitação da API
Principais recursos
Sintaxe de validação semelhante ao Laravel
Regras de validação encadeáveis
Suporte para validadores personalizados
mensagens de erro localizadas
Validadores comuns embutidos
Design independente de plataforma
Indicado para
Desenvolvedores Flutter procurando validação do estilo Laravel
Aplicativos com fluxos de trabalho de formulários complexos
Equipes que precisam de padrões consistentes de validação
Projetos que exigem internacionalização
Desenvolvedores construindo lógica de validação reutilizável
Considerações
Requer conhecimento dos conceitos de validação do estilo Laravel
Pode ser necessário configuração adicional para validações complexas aninhadas
Documentação limitada em comparação com pacotes maduros
Não otimizado para loops de validação de alto desempenho
README original
Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.
Inspection
With Inspection you can validate your inputs in Flutter & Dart like Laravel Framework.
How to install :
Add this to your package's pubspec.yaml file:
dependencies:inspection:^0.0.14
Then You can install packages from the command line:
$pubget
or
$flutterpubget
Alternatively, your editor might support flutter pub get. Check the docs for your editor to learn more.
Now in your Dart code, you can use:
import'package:inspection/inspection.dart';
Basic Usage :
You have a form , you want to validate inputs everyday in programming . With Inspection you can validate your inputs in Dart like Laravel Framework . See examples below .
You expect a required number with many conditions and rules :
In this case , we get help from Inspection helper function .
And you can use helper function and Inspection class with List of rules , so you can make a global validation configuration List and you can change your rules in whole of the application whenever you want.
The attribute must contains only letters and numbers
inspect(input,'alpha_num')
between
The attribute must be between :min and :max
inspect(input,'between:3,9')
contains
The attribute must contains one of your worlds
inspect(input,'contains:farid,farhad')
email
The attribute must be a valid email
inspect(input,'email')
ends_with
The attribute must ends with your pattern
inspect(input,'ends_with:bye')
gt
The attribute must grater than :gt
inspect(input,'gt:10')
gte
The attribute must grater than or equal to :gte
inspect(input,'gte:10')
hex
The attribute must be a valid hex code
inspect(input,'hex')
in
The attribute must be one of options in your list
inspect(input,'in:farid,farhad,john')
ip
The attribute must be a valid IP
inspect(input,'ip')
lt
The attribute must be less than :lt
inspect(input,'lt:100')
lte
The attribute must be less than or equal to :lte
inspect(input,'lte:100')
max
The attribute must have maximum :max character
inspect(input,'max:10')
min
The attribute must have at least :min character
inspect(input,'min:3')
not_in
The attribute must not exists in list :not_in
inspect(input,'not_in:saman,ahmad')
numeric
The attribute must be a number
inspect(input,'numeric')
alpha
The attribute must contains only letters
inspect(input,'alpha')
float
The attribute must be float
inspect(input,'float')
integer
The attribute must be integer
inspect(input,'integer')
number
The attribute must contains only number
inspect(input,'number')
regex
The attribute must match with regex
inspect(input,'regex:^[a-zA-Z0-9]')
required
The attribute field is required
inspect(input,'required')
starts_with
The attribute must starts with your pattern
inspect(input,'starts_with:hi')
url
The attribute must be a valid url
inspect(input,'url')
Locales :
Inspection supports two languages now . English with code : en , and Persian with code fa and Vietnamese with code vi. You can set locale when initialize inspection or in optional parameter of inspect method. For example :
You can simply extend from Inspection class and develop your custom rule . For example :
classCustomInspectionextendsInspection{
StringmyCustomRule(ruleString, inspectionCase) {
switch (ruleString) {
case'myCustomRule':
// Your conditional codes here or copy from a Rule class and change it to your own . returnMyCustomeRuleClass(inspectionCase).stringValidation();
}
returnnull;
}
}