@gubela/validator
v1.1.1
Published
Automatically generates Yup/Zod schemas from HTML/JSX forms for React Hook Form
Maintainers
Readme
@smartform/validator Automatically generates Yup/Zod schemas from HTML/JSX forms for React Hook Form. Installation npm install @smartform/validator react-hook-form yup zod @hookform/resolvers @emotion/react @emotion/styled
Usage import { useForm } from 'react-hook-form'; import { zodResolver } from '@hookform/resolvers/zod'; import { useFormValidator, ErrorMessage } from '@smartform/validator';
function App() { const formRef = React.useRef(null); const schema = useFormValidator(formRef, { validator: 'zod', locale: 'en', debug: true }); const { register, handleSubmit, formState: { errors } } = useForm({ resolver: schema ? zodResolver(schema) : undefined });
const onSubmit = (data: any) => console.log(data);
return ( <input type="email" {...register('email')} required /> Submit ); }
CLI Generate schemas from HTML files: npx smartform --input form.html --output schema.ts --validator zod
Features
Supports Yup and Zod validators. Parses nested fields, arrays, checkboxes, and radio groups. Custom validation via data-validate and async validation with data-async-validate. Predefined validation templates (e.g., phone, strong password). Localization for error messages (e.g., English, Georgian). Error rendering component (ErrorMessage). Lazy schema generation and dynamic form support. CLI for static schema generation.
License MIT
