Evyatar Alush

Form Validation. The Tested Way

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.

Form Validation. The Tested Way
#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.

Featured Partners

Related Articles

View all articles
DC
Daniel Cranney
The HTML Elements That You’re Probably Over-Engineering
As 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...
The HTML Elements That You’re Probably Over-Engineering
DC
Daniel Cranney
Exploring TypeScript: Benefits for Large-Scale JavaScript Projects
JavaScript is the backbone of web development, powering everything from small websites to large-scale enterprise applications. However, as projects grow in complexity, maintaining JavaScript code can become increasingly difficult. This is where TypeS...
Exploring TypeScript: Benefits for Large-Scale JavaScript Projects
DC
Daniel Cranney
Security Basics for Vibe Coders
Vibe 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...
Security Basics for Vibe Coders
DC
Daniel Cranney
Dev Digest 195: End of Likes, JavaScript’s a Zoo, and Messing with Bots!
Inside last week’s Dev Digest 195 . 👎 No more external likes 🤗 Needy programs 📉 The worst selling Microsoft product 🟨 JavaScript engines zoo 🍞 No more toasts! 🤖 Messing with bots 👔 Beware of fake job interviews 🗞️ Join over 150,000 developers alread...
Dev Digest 195: End of Likes, JavaScript’s a Zoo, and Messing with Bots!

From learning to earning

Jobs that call for the skills explored in this talk.