用途:Formisch 是 schema 驱动、无头(headless)的表单库,适用于在 React、Vue、SolidJS、Preact、Svelte、Qwik 中创建表单、管理表单状态与校验,并可与 Valibot schema 集成。
主要能力:以 Valibot schema 为起点,类型自动推断;提供表单 store(isSubmitting、isSubmitted、isValidating、isTouched、isDirty、isValid、errors)与字段 store(path、input、errors、isTouched、isDirty、isValid、props、onChange/onInput);支持脏值追踪(初始输入与当前输入对比);提供 getInput、getErrors、getAllErrors、setInput、setErrors、reset、validate、focus、submit、handleSubmit 等方法;支持 FieldArray 及 insert、remove、move、swap、replace 数组操作;支持输入/输出类型不同的转换 schema。
使用方式:先安装 peer 依赖 valibot,再按框架安装对应包,如 npm install valibot 与 npm install @formisch/react(Vue 为 @formisch/vue,SolidJS 为 @formisch/solid,Preact 为 @formisch/preact,Svelte 为 @formisch/svelte,Qwik 为 @formisch/qwik)。React/Vue/Preact/Qwik 使用 useForm(Qwik 为 useForm$),SolidJS/Svelte 使用 createForm。表单配置支持 schema、initialInput、validate(initial|blur|input|submit,默认 submit)、revalidate(blur|input|submit,默认 input)。字段路径为类型安全数组,支持嵌套与数组索引。
适用场景:需要跨框架、类型安全、UI 完全自控的表单;动态字段列表;与 Valibot 校验规则配合的前端表单。
限制:资料未提供收费、价格、平台兼容细节或性能基准;具体 API 行为以官方文档为准。