使用react-hook-form库优化表单,验证输入使用zod库。验证条件如下:
但验证结果却显示:
并没有对number输入值做required的验证,和数字是否大于18做验证,而是停留在输入的类型是string上。
这是因为对于type=number的input来说,e.target.value是string ,要获取它的值应该是e.target.valueAsNumber. 而项目使用react-hook-form这个库,在input处拿到输入值这个功能是register,它是通过e.target.value来拿的,所以对于下图来说,取到的值是string
所以需要添加register第二个参数
成功: