Eskema: Validación de datos en Dart, componible y ergonómica

Eskema: biblioteca de validación para Dart/Flutter que valida datos en tiempo de ejecución con validadores como funciones, sin código generado y con composición clara.

11 sept 2025 • 4 min de lectura • Equipo Q2BSTUDIO

Inteligencia-Artificial-

Todos los proyectos Dart tienen ese archivo temido lleno de comprobaciones if value == null || value is! String || value.isEmpty que empieza como una validacion rapida y acaba convertido en un plato de espagueti que nadie toca. Eskema nace precisamente para evitar ese desastre: una biblioteca declarativa, ergonomica y poco dogmatica para validar datos en tiempo de ejecucion sin generar codigo ni clases misteriosas.

Concepto clave: validadores como funciones. En Eskema un validador es simplemente una funcion que recibe un valor y devuelve un Result. Puedes combinarlos y anidarlos libremente con operadores y funciones utilitarias, lo que hace la logica de validacion facil de razonar y componer sin convertir el codigo en una jungla de if else.

Funciones y validadores integrados: la libreria incluye comprobaciones tipicas para tipos, numeros, cadenas, listas y mapas. Ejemplos habituales: isString() isInt() isEmail() listEach() listIsOfLength(). Tambien hay checks de presencia como isNotNull() isNotEmpty() isPresent() y comparaciones como isGt() isLte() isIn().

Azucar sintactica y semantica clara: combina validadores con operadores como AND y OR o con funciones como not() y personaliza mensajes de error inline. La distincion entre nullable y optional evita la confusión entre ausencia de clave y valor nulo: usa nullable(validator) para permitir null y optional(validator) para permitir que falte la clave por completo.

Sin generacion de codigo: Eskema valida mapas y valores Dart en tiempo de ejecucion, sin pasos de build ni clases generadas. Esto simplifica pipelines y es ideal para formularios Flutter, manejadores de API, archivos de configuracion o cualquier capa que reciba datos dinamicos.

Ejemplo funcional basico: final userSchema = eskema({ username: isString() & isNotEmpty(), password: isString() & hasLength(8,32), email: isString() & isEmail(), signupDate: optional(isDateTime()), }); final result = userSchema.validate({ username: alice, password: secret123, email: alice@example.com }); if (!result.isValid) { print(result.expectations); } Este enfoque sustituye montones de comprobaciones manuales por una descripcion clara de lo que esperas y un resultado estructurado con expectativas y rutas de campo.

API builder para ergonomia: si prefieres un estilo fluent y compatible con el autocompletado del IDE, Eskema dispone de un builder basado en clases. Ejemplo: final mapValidator = $map().schema({ id: $string().trim().toIntStrict().gt(0), tags: $list().each($string()).lengthMin(1), }); final res = mapValidator.validate({ id: 42, tags: [dart, eskema] }); La ventaja es ergonomia, seguridad de tipos y menos necesidad de importar numerosas funciones sueltas.

Extensible y preparado para produccion: añadir un validador o transformador nuevo es trivial. Hay soporte asincrono con validateAsync(), mensajes de error claros y pruebas. Las fallas devuelven una lista estructurada de expectativas con mensaje y ruta del campo, no solo un booleano.

Antes y despues: en lugar de escribir una funcion larga y fragil con decenas de comprobaciones if else y regex, con Eskema defines el esquema de forma declarativa y legible. El resultado es codigo mas mantenible, facil de ampliar y menos propenso a errores en casos limites.

Consejos de uso: utiliza los accesos rapidos tipo $isString para validadores sin argumentos y isString() cuando quieras customizar el mensaje. Familiarizate con los operadores para componer esquemas mas concisos. Aprovecha la API builder en proyectos grandes para sacar el mayor partido al autocompletado.

Q2BSTUDIO y validacion de datos: en Q2BSTUDIO somos una empresa de desarrollo de software especializada en aplicaciones a medida y software a medida, con experiencia en proyectos que integran inteligencia artificial, ciberseguridad y servicios cloud aws y azure. Incorporar librerias como Eskema en tus soluciones ayuda a reducir errores en entradas dinamicas y a mejorar la calidad del pipeline de datos que alimenta modelos de ia para empresas y agentes IA.

Si necesitas desarrollar una aplicacion robusta y validada de principio a fin, descubre como trabajamos en soluciones escalables y multiplataforma en desarrollo de aplicaciones y software a medida. Para proyectos que combinan validacion, procesamiento y servicios de inteligencia artificial, podemos ayudarte a diseñar pipelines seguros y eficientes; conoce mas en nuestros servicios de inteligencia artificial.

Ademas ofrecemos servicios de ciberseguridad y pentesting, implementacion de servicios inteligencia de negocio y power bi, y automatizacion de procesos, todo orientado a reducir riesgos y acelerar el valor de tus datos. Palabras clave que describen nuestra oferta: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA y power bi.

Conclusión: Eskema es una herramienta ligera pero poderosa para validar datos en tiempo de ejecucion en proyectos Dart. Su composabilidad, claridad y ausencia de codegen la hacen ideal para integrar en soluciones a medida desarrolladas por equipos como Q2BSTUDIO, donde la calidad de los datos y la ergonomia del codigo importan tanto como la funcionalidad final.

¿UNA PAUSA?

Juega un momento antes de irte

NUESTROS SERVICIOS

Cómo podemos ayudarte

Inteligencia artificial

Agentes de IA, chatbots y asistentes inteligentes que automatizan tareas y atienden a tus clientes 24/7 para mejorar la eficiencia de tu negocio.

Más info

Desarrollo de software

Aplicaciones web, móviles y de escritorio, intranets, e-commerce, SaaS y plataformas de gestión diseñadas para las necesidades concretas de tu empresa.

Más info

Servicios cloud

Migración, infraestructura, hosting gestionado, alta disponibilidad y seguridad en Microsoft Azure y Amazon Web Services para que tu negocio escale sin límites.

Más info

Ciberseguridad y pentesting

Auditorías de seguridad, test de intrusión (pentesting) y protección de aplicaciones, datos e infraestructura on-premise y cloud, con hacking ético y cumplimiento normativo.

Más info

Business Intelligence

Cuadros de mando y análisis de datos con Power BI: integramos tus fuentes, diseñamos dashboards y KPIs y convertimos tus datos en decisiones.

Más info

Automatización de procesos

Automatizamos tareas repetitivas y conectamos tus aplicaciones con n8n, Power Automate, Make y RPA, eliminando trabajo manual y aumentando la productividad.

Más info

Formación para empresas

Formamos a tus equipos en tecnología con criterio: desarrollo web, bases de datos, Git, buenas prácticas y seguridad, automatización con n8n, inteligencia artificial para empresas y creación de soluciones de IA con Azure AI Foundry.

Más info

Auditoría de código

Auditamos el código que creas tú, tu equipo o una IA: te decimos qué está bien y qué mejorar, lo securizamos y lo dejamos listo para producción, web o app.

Más info

Generación de imágenes con IA

Creamos por ti las imágenes que necesita tu negocio con inteligencia artificial: producto, redes, publicidad, ilustración y avatares. Tú nos dices qué quieres y te lo entregamos listo para usar.

Más info

Generación de vídeos con IA

Creamos por ti vídeos con inteligencia artificial: promocionales, para redes, presentadores virtuales, doblaje y animaciones. Nos cuentas la idea y te lo entregamos montado y listo para publicar.

Más info

Avatares conversacionales con IA

Creamos avatares conversacionales con IA —humanos digitales con cara y voz— que atienden a tus clientes y equipos con el conocimiento de tu empresa, en tu web, monitores interactivos, WhatsApp o Teams.

Más info

Marketing Online e IA

Google Ads, Meta Ads, LinkedIn Ads y posicionamiento en motores de IA (GEO/AEO): captamos clientes y hacemos que tu marca aparezca donde te buscan, también en ChatGPT, Gemini y Perplexity.

Más info

¿Tienes un proyecto en mente?

Cuéntanos tu visión y la convertimos en una solución de software. Sea cual sea el alcance, hacemos realidad tu idea.