用途:Conform 是面向 Remix 与 Next.js 的类型安全表单验证库,强调渐进增强、Web 标准与服务器端验证,适合需要客户端与服务器一致校验结果的表单场景。
主要能力:提供 useForm 管理表单与字段状态;通过 parseWithZod、parseWithYup、parseWithValibot 在客户端和服务器复用同一套 schema;支持 onValidate、shouldValidate、shouldRevalidate 控制校验时机;支持嵌套对象、字段数组、文件上传、intent 按钮、服务器端错误回填;自动生成可访问性属性(aria-invalid、aria-describedby)。
使用方式:安装命令为 npm install @conform-to/react @conform-to/zod zod。在组件中用 useForm 取得 form 与 fields,通过 fields.xxx.name、fields.xxx.errors 绑定输入与错误;服务端 action 中用 parseWithZod(formData, { schema }) 校验,失败时返回 submission.reply(),成功则处理数据。Remix 使用 useActionData 配合 lastResult;Next.js App Router 使用 useFormState 配合 server action。可用 getInputProps、getTextareaProps、getSelectProps 生成字段属性。
适用场景:Remix/Next.js 登录注册、多字段表单、嵌套对象、动态任务列表、文件上传校验等。
限制:资料未提供收费、价格与平台支持范围等信息;需自行搭配 React 与对应框架使用,schema 校验依赖外部库。