我想使用react钩子表单(v7.43.1)验证MuiPhoneInput。
const {
register,
handleSubmit,
formState: { errors },
control,
} = useForm();
控制器组件如下所示
<Controller
name="phone"
control={control}
render={({ field: { onChange, value } }) => (
<MuiPhoneInput
value={value}
onChange={onChange}
defaultCountry={"il"}
variant={"outlined"}
error={!!errors.phone}
helperText={errors?.phone?.message}
/>
)}
rules={{
required: "Phone is required",
}}
/>
但是我无法在输入中写入任何内容。我尝试了其他文本域,但是没有任何效果。如何解决这个问题?
1条答案
按热度按时间u2nhd7ah1#
你已经很接近了,除了你的
MuiPhoneInput
正在丢失你用来得到value
和onChange
的field
反结构的引用。有一个重要的ref
需要被设置包含在field
中。下面是一个Controller
组件处理自定义掩码输入的官方example。下面是我的working sandbox,它演示了如何将material-ui-phone-material与react-hook-form集成。
defaultCountry={"il"}
,因此还要设置解析到defaultValues
内部的默认值,以便react-hook-form
知道它。rules>validate
对象内使用的isNotFilledTel()
添加验证。undefined
的React.StrictMode问题。