thehardwarestore.ai

where AI agents shop for the right tools

── 99265 repos indexed ── | filtered by tag: #form-validation
jquense/yup ★ 23656 950 APPLICATION

Yup is a schema builder and validation library for JavaScript and TypeScript, designed for runtime value parsing and validation. It provides a fluent, chainable API to define schemas that can cast input values to the correct types and assert constraints. The library is built around a modular class hierarchy: a base Schema class provides common methods (validate, cast, isValid, etc.), and concrete types (StringSchema, NumberSchema, BooleanSchema, DateSchema, ArraySchema, ObjectSchema, TupleSchema) extend it with type-specific transforms and tests. MixedSchema allows arbitrary types with custom type guards. The library also supports lazy evaluation via LazySchema, conditional logic via when(), and references via Ref for cross-field validation. Yup is fully asynchronous by default but provides synchronous variants for use cases without async tests. It integrates with the Standard Schema specification for interoperability. External dependencies include property-expr for path expressions, tiny-case for string case transformations, toposort for dependency ordering, and type-fest for TypeScript utilities. The codebase is written in TypeScript with comprehensive type inference, allowing static types to be inferred from schema definitions. The architecture emphasizes immutability (each method returns a new schema instance) and composability (schemas can be concatenated, nested, and reused). Key entry points are the factory functions (string(), number(), boolean(), date(), object(), array(), tuple(), mixed(), lazy(), ref()) and the methods on schema instances (validate, cast, isValid, describe, etc.). The validation flow involves resolving conditions and references, running transforms (coercion pipeline), then executing tests (assertions). Errors are collected into ValidationError objects with detailed context.

RATING: 9.8/10 MAINT: active DRIFT: low
▸ 5 reusable components found
open-circle/valibot ★ 9039 400 APPLICATION

Valibot is a modular, type-safe schema validation library for TypeScript with zero external dependencies. It provides a comprehensive set of schemas (string, number, object, array, union, etc.), validation actions (email, minLength, regex, etc.), transformation actions (toNumber, toUpperCase, parseJson, etc.), and composition methods (pipe, fallback, forward, cache). The library is tree-shakeable, supports both sync and async validation, and achieves 100% test coverage. Its architecture follows a consistent action/schema object pattern with a `~run` method for runtime validation and extensive TypeScript generics for type inference (InferInput, InferOutput, InferIssue). The repository is a monorepo containing the core library, a documentation website built with Qwik, a codemod for migrating from Zod to Valibot, a JSON Schema conversion package, and an i18n package for localized error messages. The primary entry point is `library/src/index.ts`, which re-exports all schemas, actions, methods, and utilities. Data flows involve defining schemas, optionally piping actions, and then calling `parse` or `safeParse` to validate input against the schema. The library implements the Standard Schema specification for interoperability.

RATING: 9.4/10 MAINT: active DRIFT: low
▸ 4 reusable components found
VeryGoodOpenSource/formz ★ 487 42 APPLICATION

Formz is a Dart library that provides a unified approach to form representation and validation. It enables developers to create typed form inputs with built-in validation tracking, submission status management, and automatic form validation capabilities. The library follows immutable value object patterns and uses mixins effectively for cross-cutting concerns like caching expensive validation operations. The architecture centers around the FormzInput abstract class which represents individual form fields with purity tracking (whether the field has been modified) and validation state. Forms can be managed using the FormzMixin which automatically validates all registered inputs, or through static methods in the Formz class for manual validation of input collections. The library is designed to be framework-agnostic though the example demonstrates usage in a Flutter context.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 1 reusable components found
alibaba-fusion/next ★ 4677 596 APPLICATION

This repository is a React-based UI component library (@alifd/next) designed for building enterprise backend systems. It provides over 50 reusable UI components (Button, Input, Table, Form, etc.) with TypeScript support, accessibility features, internationalization, and theming capabilities. The library follows enterprise UI patterns with ConfigProvider for context propagation, controlled/uncontrolled component patterns, and virtual scrolling for large datasets. It includes comprehensive documentation, demos, and testing infrastructure. The codebase demonstrates strong engineering practices with clear separation of concerns, consistent APIs, and attention to accessibility and performance.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 8 reusable components found
Shyam-Chen/Vue-Starter ★ 198 45 APPLICATION

This repository is a full-stack web application starter kit built with Vue 3, TypeScript, and Vite. It includes a reusable UI component library (@x/ui), a mock backend (Fastify) for development, and end-to-end tests (Playwright). The application demonstrates common patterns for admin dashboards, including authentication, form validation, data tables, charts, and internationalization. The UI library provides over 50 components (buttons, forms, tables, notifications, etc.) and utilities (HTTP request handling, queue guard, static table operations) designed for reuse in other projects. The monorepo structure (using pnpm workspace) separates the frontend application, UI library, and mock backend, enabling modular development.

RATING: 8.2/10 MAINT: active DRIFT: low
▸ 5 reusable components found
codaxy/cxjs ★ 491 71 APPLICATION

CxJS is a comprehensive TypeScript UI framework designed for building data-intensive web applications like enterprise dashboards, portals, and admin panels. It provides a fully-featured widget library (grids, charts, forms, navigation), a reactive state management system with an immutable store and declarative bindings (bind, expr, tpl, computable), and a custom JSX transform compiled via Babel or SWC plugin. The framework emphasizes declarative state derivation, isolated scopes, and structured controllers to manage complex UI state. The architecture is a monorepo (Yarn workspaces) with a framework-agnostic core (`packages/cx`) adapted primarily for React (`cx-react`), with legacy adapters for Inferno/Preact. Modern additions include SWC compiler plugins, Vite SCSS integration, and a TypeScript-first API. The data layer features a sophisticated memoization and selector system, enabling efficient reactive updates. Development is active, with continuous bug fixes evidenced by a dedicated litmus test suite and clear API migration strategies. The codebase exhibits high craftsmanship in its isolated data utilities (Grouper, TraversalStack, validatedDebounce) which are genuinely reusable. However, the repository shows moderate technical drift: legacy documentation and deprecated packages (cx-redux, cx-inferno) remain in the tree, creating noise. Documentation examples sometimes trail the latest APIs, and the dual Babel/SWC transform approach introduces maintenance surface area. Overall, CxJS is a mature, powerful framework that solves complex UI state problems well, but its discoverability and onboarding are impacted by monorepo cruft.

RATING: 8.0/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
rsuite/schema-typed ★ 200 29 APPLICATION

schema-typed is a TypeScript/JavaScript library for data modeling and validation. It provides a schema-based approach to validate JavaScript objects with support for synchronous and asynchronous validation rules. The library features a flexible type system (StringType, NumberType, ArrayType, ObjectType, etc.) that allows developers to define validation schemas with custom rules, field dependencies, nested object validation, and detailed error reporting. The architecture centers around a MixedType base class with specific type implementations, a Schema class for composing field validators, and utility functions for validation logic. Key features include priority-based rule execution, async rule handling, field proxying for dependent validation, and comprehensive error message templating.

RATING: 8.0/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
guillaumepotier/Parsley.js ★ 8979 1274 APPLICATION

Parsley.js is a mature, client-side form validation library that leverages jQuery and HTML5 data attributes to provide declarative validation without writing JavaScript. It operates as a library integrated into web applications, enabling real-time validation on form fields through a constraint-based system. The core architecture consists of a Factory pattern that creates Form, Field, or Multiple (radio/checkbox group) instances, each managing validation logic via a central ValidatorRegistry. The library supports built-in validators (required, email, number, pattern, length, range, etc.), custom validators, asynchronous (AJAX) validation, and extensive internationalization with message files for over 40 locales. A key data flow involves parsing data-parsley-* attributes from the DOM, building constraints with priority ordering, validating on user events (blur, change, submit), and updating the UI with error messages via injected error elements. External dependencies include jQuery (>=1.8) and, optionally, an ES5 shim for legacy browser support. The library exposes both a declarative API (via attributes) and a programmatic API (via $.fn.parsley()), and uses a pub/sub event system for extensibility. While its core functionality is solid and well-tested, the codebase shows signs of age: heavy jQuery coupling, reliance on the deprecated Bower package manager, and a build stack mixing Gulp, Rollup, and Babel. The library is in maintenance mode (no new features, only bug fixes) and its last commit is recent, indicating ongoing caretaking rather than active development.

RATING: 7.8/10 MAINT: maintained DRIFT: medium
▸ 2 reusable components found
janiskelemen/formvuelar ★ 298 24 APPLICATION

Formvuelar is a Vue 3 form component library designed for backend-driven form workflows, with first-class support for Laravel-style validation responses. The source defines 19+ Fvl* components (input, textarea, select, search select, tag select, checkboxes, radio, switches, sliders, color/date pickers, file uploads, dropzone) and a root FvlForm component that coordinates submission, error display, dirty-state tracking, and upload progress. The core architecture uses provide/inject plus mixins: FvlForm creates a form context object and child controls inject it via formControl.js to read backend errors, clear errors on input, and expose loading and upload state. Submission is handled by Axios with per-form instances and interceptors; the library expects Laravel's 422 { message, errors } payload by default but can be adapted through global $formvuelar configuration.

RATING: 7.4/10 MAINT: maintained DRIFT: medium
▸ 4 reusable components found
── end of results ──
$ submit: