Libreria Gratis Activo

RVF (React Validated Form)

Para gestionar el estado y la validación de formularios en React con mejora progresiva y tipado seguro.

Librería de validación y gestión de estado de formularios para React, React Router y Remix.

Notas y contexto

Qué es

RVF (React Validated Form) es una librería de TypeScript creada por Aaron Pettengill (airjp73) para validar y gestionar el estado de formularios en React. Anteriormente se llamaba remix-validated-form, pero al ampliar su soporte más allá de Remix pasó a llamarse RVF. Se apoya en las APIs nativas de formularios del navegador y se integra con validadores como Zod o Yup mediante adaptadores oficiales.

Para qué sirve

  • Validar formularios en el cliente y reutilizar la misma lógica de validación en el servidor.
  • Gestionar el estado de formularios complejos con objetos y arrays anidados manteniendo el tipado.
  • Construir formularios con mejora progresiva que funcionan incluso sin JavaScript en Remix o React Router.
  • Centralizar los valores por defecto del formulario en un único sitio.

Cuándo usarlo

Encaja bien cuando trabajas con frameworks de React renderizados en servidor (Remix, React Router, Next.js) y quieres formularios que funcionen con o sin JavaScript. También sirve en React puro. Si no necesitas mejora progresiva ni integración con APIs nativas de formulario, alternativas como React Hook Form o Formik pueden bastar.

Ejemplo

Instalación según el entorno:

npm install @rvf/react-router
npm install @rvf/react

Uso básico con el adaptador de Zod en React puro:

import { useForm } from "@rvf/react";
import { withZod } from "@rvf/zod";
import { z } from "zod";

const validator = withZod(
  z.object({
    email: z.string().email(),
  })
);

function MyForm() {
  const form = useForm({
    validator,
    defaultValues: { email: "" },
    handleSubmit: (data) => console.log(data),
  });

  return (
    <form {...form.getFormProps()}>
      <input {...form.field("email").getInputProps()} />
      <button type="submit">Enviar</button>
    </form>
  );
}

Puntos clave

  • Mejora progresiva: los formularios funcionan sin JavaScript en frameworks renderizados en servidor.
  • Tipado seguro para estructuras anidadas de objetos y arrays.
  • Adaptadores oficiales para Zod (@rvf/zod) y Yup (@rvf/yup), además de validadores personalizados.
  • Soporte tanto para React puro como para React Router, Remix y otros frameworks de React.

Ten en cuenta

El proyecto está activo y mantenido (versión v8.1.0, con commits recientes) y se publica bajo licencia MIT. Hay que tener en cuenta el cambio de nombre y de paquetes: el antiguo remix-validated-form ahora es RVF, con paquetes separados por entorno (@rvf/react, @rvf/react-router). Revisa la documentación oficial para la guía de migración si vienes de versiones anteriores.

Volver al directorio
Volver al directorio