- Validação de categorias de produtos em um sistema de estoque
import 'dart:io';
void verificaCategoria(String entrada, List<String> categorias) {
String categoriaNormalizada = entrada.trim().toLowerCase();
if (categorias.contains(categoriaNormalizada)) {
print('Categoria válida: $categoriaNormalizada');
} else {
print('Categoria inválida! Tente novamente.');
}
}
void main() {
List<String> categorias = ['eletronicos', 'alimentos', 'vestuario', 'livros'];
print('Digite a categoria do produto (eletronicos, alimentos, vestuario, livros):');
String? entrada = stdin.readLineSync();
if (entrada == null || entrada.isEmpty) {
print('Entrada vazia! Tente novamente.');
main();
return;
}
verificaCategoria(entrada, categorias);
// Verifica se válida para decidir recursão
if (!categorias.contains(entrada.trim().toLowerCase())) {
main();
}
}
- Validação de tipos de arquivos em um sistema de upload
import 'dart:io';
void verificaTipos(String entrada, List<String> tipos) {
String tipoAjustado = entrada.trim().toLowerCase();
if (tipos.contains(tipoAjustado)) {
print('Tipo válido: $tipoAjustado');
} else {
print('Tipo escolhido inválido! Tente novamente.');
}
}
void main() {
List<String> tipos = ['pdf', 'jpg', 'png', 'docx'];
print('Selecione o tipo de arquivo: (pdf, jpg, png, docx):');
String? entrada = stdin.readLineSync();
if (entrada == null || entrada.isEmpty) {
print('Entrada vazia! Tente novamente.');
main();
return;
}
verificaTipos(entrada, tipos);
// Verifica se válida para decidir recursão
if (!tipos.contains(entrada.trim().toLowerCase())) {
main();
}
}