Skip to Content
ContentAPIFunctionsFunction: FileField()

Hero Hook Form API v2.5.1


Hero Hook Form API / FileField

Function: FileField()

FileField<TFieldValues>(props): Element

Defined in: fields/FileField.tsx:172 

A file input field component that integrates React Hook Form with HeroUI Input.

This component provides a type-safe file upload field with validation support, error handling, and accessibility features. The field value is a FileList or null.

Type Parameters

TFieldValues

TFieldValues extends FieldValues

The form data type

Parameters

props

FileFieldProps<TFieldValues>

The file field props

Returns

Element

The rendered file field component

Examples

import { ZodForm, FormFieldHelpers } from "@rachelallyson/hero-hook-form"; import { z } from "zod"; const schema = z.object({ avatar: z.instanceof(FileList).nullable(), documents: z.instanceof(FileList).optional(), }); function MyForm() { return ( <ZodForm config={{ schema, fields: [ FormFieldHelpers.file("avatar", "Upload Avatar", { accept: "image/*" }), FormFieldHelpers.file("documents", "Upload Documents", { multiple: true, accept: ".pdf,.doc,.docx", }), ], }} onSubmit={(data) => console.log(data)} /> ); }
// With file size validation <FileField control={form.control} name="avatar" label="Upload Avatar" accept="image/*" transform={(files) => { if (files && files[0] && files[0].size > 5 * 1024 * 1024) { // File too large return null; } return files; }} />