Gere formulários Flutter usando JSON, com uma variedade de controles de formulário integrados, suporte à validação, layouts personalizados, estilos personalizados e agrupamento de formulários aninhados ilimitados.
Orientação gerada a partir de informações públicas. Apenas para referência.
json_gen_form é um pacote Flutter que permite a geração dinâmica de formulários a partir de JSON, com suporte a uma ampla variedade de controles de formulário embutidos, regras de validação, layouts personalizados e estilos. Ele permite o agrupamento aninhado de formulários, tornando-o ideal para interfaces do tipo server-driven. Os desenvolvedores podem definir formulários de forma declarativa em JSON, reduzindo o código repetitivo e permitindo estruturas de formulários flexíveis e sustentáveis em múltiplas plataformas.
Casos de uso
Renderização dinâmica de formulários a partir de JSON
UI impulsionada por servidor com formulários configuráveis
Estruturas de formulário aninhadas
Validação em tempo real do formulário
Layouts de formulários personalizáveis
Principais recursos
Controles de formulário embutidos
Suporte de validação
Layouts e estilos personalizados
Agrupamento de formulário aninhado
Definição de formulário baseada em JSON
Indicado para
Desenvolvedores construindo interfaces de usuário com controle do servidor
Equipes que precisam de lógica de formulário reutilizável
Aplicativos que exigem conteúdo de formulário dinâmico
Desenvolvedores front-end trabalhando com esquemas JSON
Projetos com mudanças frequentes de formulário
Considerações
Requer um design cuidadoso do esquema JSON
Limitado aos tipos de controle compatíveis
Pode ser necessário lógica de validação adicional
sobrecarga de análise em tempo de execução
Dependente de entrada JSON precisa
README original
Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.
JSON_GEN_FORM
Generate Flutter forms using JSON, featuring a variety of built-in form controls, support for validation, custom layouts, custom styles, and unlimited nested form grouping.
Except for group, row, and col, all types have the following general parameters. All types have extra.
Field
Description
Type
Default Value
Required
type
Type
String
''
true
field
Field Name
String
''
true
label
Label
String
-
-
hiddenLabel
Hidden Label
bool
false
-
value
Default Value
dynamic
-
-
disabled
Disabled
bool
false
-
readonly
Read-Only
bool
false
-
rules
Validation Rules
List
[]
-
extra
Extra Params
dynamic
-
Form Types
group
Field
Description
Type
Default Value
Required
type
Type
String
'group'
true
field
Field Name
String
''
-
label
Label
String
''
-
hiddenLabel
Hidden Label
bool
''
-
children
Sub-Forms
List
[]
-
text
Field
Description
Type
Default Value
Required
type
Type
String
'text'
true
placeholder
Placeholder
String
-
-
General Params
-
-
-
-
password
Field
Description
Type
Default Value
Required
type
Type
String
'password'
true
placeholder
Placeholder
String
-
-
General Params
-
-
-
-
textarea
Field
Description
Type
Default Value
Required
type
Type
String
'textarea'
true
placeholder
Placeholder
String
-
-
General Params
-
-
-
-
number
Field
Description
Type
Default Value
Required
type
Type
String
'number'
true
placeholder
Placeholder
String
-
-
General Params
-
-
-
-
radio
Field
Description
Type
Default Value
Required
type
Type
String
'radio'
true
options
Options
List
[]
-
direction
Options Direction
String
'horizontal'
-
itemHorizontalSpace
Item Horizontal Space
double
16
-
itemVerticalSpace
Item Vertical Space
double
8
-
General Params
-
-
-
-
checkbox
Field
Description
Type
Default Value
Required
type
Type
String
'checkbox'
true
options
Options
List
[]
-
direction
Options Direction
String
'horizontal'
-
itemHorizontalSpace
Item Horizontal Space
double
16
-
itemVerticalSpace
Item Vertical Space
double
8
-
General Params
-
-
-
-
select
Field
Description
Type
Default Value
Required
type
Type
String
'select'
true
options
Options
List
[]
-
multiple
Multiple Select
bool
false
-
General Params
-
-
-
-
switch
Field
Description
Type
Default Value
Required
type
Type
String
'switch'
true
General Params
-
-
-
-
media
Field
Description
Type
Default Value
Required
type
Type
String
'media'
true
mediaType
Media Type (media, image, video)
String
'media'
-
multiple
Multiple Uploads
bool
false
-
General Params
-
-
-
-
ios Configuration info.plist
<key>NSCameraUsageDescription</key>
<string>Need camera for taking photos or scanning codes</string><key>NSPhotoLibraryUsageDescription</key><string>Need access to photo library for selecting photos or videos</string><key>NSMicrophoneUsageDescription</key><string>Need microphone access for recording videos</string>