What if your form validation logic was as clear and testable as your unit tests? Discover a declarative, framework-agnostic library that makes it possible.
#1about 5 minutes
Why user experience with forms is often broken
A personal story about a frustrating tax form highlights common UX failures like unclear requirements and delayed feedback.
#2about 6 minutes
Analyzing common form validation patterns and their pitfalls
Existing validation solutions often lack structure, are hard to test, and create tight coupling with UI frameworks.
#3about 2 minutes
Adopting a unit testing syntax for declarative validations
Vest is inspired by unit testing libraries like Mocha and Jest to create declarative, readable, and separate validation suites.
#4about 5 minutes
Live coding: Setting up a basic validation suite in React
Learn how to create a validation suite with Vest, connect it to a React form, and display error messages for individual fields.
#5about 5 minutes
Refining validation UX with field isolation and warnings
Use Vest's `only` function to validate a single field on interaction and implement non-blocking warnings for optional suggestions.
#6about 7 minutes
Implementing complex asynchronous and memoized validations
Manage asynchronous server-side checks, skip them conditionally with `skipWhen`, and prevent redundant calls using memoization.
#7about 2 minutes
A summary of Vest's features and future roadmap
Vest is a tiny, stateful library that offers declarative, framework-agnostic validations, with a full TypeScript rewrite in version 4.
#8about 5 minutes
Q&A: Handling dynamic forms and global validation rules
Learn how to handle debounced async calls, define global rules by extending `enforce`, and manage dynamic forms with `test.each` or manual cleanup.
Related jobs
Jobs that call for the skills explored in this talk.
The HTML Elements That You’re Probably Over-EngineeringAs frameworks have become more and more commonplace in the world of web development, so too has the over-engineering of features made possible by our humble old friend, HTML.
The mental models that come with using state management in React, Vue and o...
Daniel Cranney, Chris Heilmann
Dev Digest 215: Agent Memory, JS2026, Googlebot Analysis & Canvas❤️HTMLInside last week’s Dev Digest 215 .
🗿 Make AI talk like a caveman
🧠 A guide to context engineering for LLMs
🤖 Simon Willison on agentic engineering
🔐 Axios supply chain attack post mortem
🛡️ Designing AI agents to resist prompt injection
🎨 HTML in c...
Christina Schaireiter
Security Basics for Vibe CodersVibe coding has become a popular trend in the tech world. With so many tools now available for both developers and non-developers, it’s easier than ever to build projects using natural language, in some cases without touching a line of code along the...
Chris Heilmann
Building a "shoutout" component in plain HTML/CSS/JavaScriptEvery Wednesday we meet at noon to talk about a lot of tech news, tools and resources in something we call WeAreDevelopers Live . We go live on YouTube and afterwards we cut out short videos to post on social media. What we needed was an obvious “sho...
From learning to earning
Jobs that call for the skills explored in this talk.