1. z.coerce.number() 字符串转数字 只在submit起效
使用useWatch监听到的数据依然是字符串
2. form?.formState.isDirty 什么时候为true?
form?.formState.isDirty 是跟defaultValues设置的值做对比,当值发生变化为true,否则为false。而不是输入框的值发生变化isDirty就为true。
3. zod z.string()
z.string()
为必填 但是你给默认值为""
空字符串则校验会通过也就是说zod认为你已经输入了值,换句话说z.string()
验证的是undefinedz.string()
输入框默认值为undefined,但是当我输入了字符串然后将字符串全部删掉,验证居然通过了,submit函数拿到的数据为""
这不符合预期,预期是必须有值而不是空字符串。这个时候可以使用z.string().min(1)
,这样就符合预期了。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。