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()验证的是undefined
  • z.string() 输入框默认值为undefined,但是当我输入了字符串然后将字符串全部删掉,验证居然通过了,submit函数拿到的数据为""这不符合预期,预期是必须有值而不是空字符串。这个时候可以使用z.string().min(1),这样就符合预期了。

assassin_cike
1.3k 声望74 粉丝

生活不是得过且过


« 上一篇
recharts 实践
OSZAR »