Orientação gerada a partir de informações públicas. Apenas para referência.
Easy Formz é um pacote do Flutter projetado para simplificar o manuseio de formulários, fornecendo uma abordagem fluida para geração e validação de formulários. Ele reduz o código repetitivo e aumenta a produtividade dos desenvolvedores com APIs intuitivas para gerenciar estados de formulário, regras de validação e lógica de envio. Desenvolvido com Dart, integra-se perfeitamente em aplicativos Flutter em múltiplas plataformas, incluindo Android, iOS, Web, macOS, Windows e Linux. O pacote promove código limpo e sustentável ao aproveitar estruturas de dados imutáveis e padrões reativos. É particularmente útil para desenvolvedores que buscam criar formulários robustos e escaláveis com esforço mínimo.
Casos de uso
Criação de formulários com pouco código boilerplate
Gerenciamento de estado de formulário reativo
Implementação de formulário multiplataforma
Manipulação de lógica complexa de validação
Fluxos de trabalho de envio de formulários simplificados
Principais recursos
Estados imutáveis do formulário
Utilitários de validação embutidos
Atualizações de formulário reativas
Suporte para validadores personalizados
Integração fácil com widgets do Flutter
Indicado para
Desenvolvedores criando formulários complexos
Equipes que priorizam a manutenibilidade do código
Projetos que exigem consistência de formulários multiplataforma
Aplicações com necessidades rigorosas de validação
Iniciantes do Flutter aprendendo manipulação de formulários
Considerações
Requer conhecimento dos conceitos de programação reativa
Pode ser necessário configuração adicional para cenários avançados de validação
Mais adequado para projetos que usam soluções de gerenciamento de estado como Bloc ou Provider
Documentação limitada além dos exemplos básicos
Não é ideal para formulários simples de uso único
README original
Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.
EasyFormz Package
The purpose of this package is to facilitate the creation of dynamic forms based on data received from the server. The package provides several basic components, including form types such as 'input', 'textarea', 'dropdown', 'checkbox', 'multicheckbox', 'radio', 'date', and 'time'. Additionally, users have the flexibility to create custom forms if none of the predefined form types suit their needs.
Let's say you have a list of form page then you can do like the following example:
final formPages = [
FormPage(
id: 'gweorj29',
label: 'Example Page 1',
description: 'This form displays all the existing forms available',
formConfigs: forms1,
),
FormPage(
id: 'gweorj29',
label: 'Example Page 2',
description: 'This form displays all the existing forms available',
formConfigs: forms2,
),
];
To create a custom form component based on the form configuration using the customBuilder, consider the following example:
EasyFormz(
controller: controller,
customBuilder: (config, onValueChanged) {
if (config.type == 'custom_form') {
// Customize and return the specific custom form component based on the condition.returnCustomDropdown(
config: config,
onChanged: (value) => onValueChanged(value),
);
}
},
);
Custom Error Component Builder
Custom error component is available by using the errorBuilder, consider the following example:
To personalize the appearance of the dynamic form, you can modify the theme settings using the theme parameter. Below is an example of customizing the theme for a EasyFormz: