在智能表单组件中使用react-hook-form验证自定义输入的过程如下:
useForm
、Controller
和其他必要的组件。useForm
、Controller
和其他必要的组件。useForm
hook创建表单实例,并定义验证规则。useForm
hook创建表单实例,并定义验证规则。Controller
组件包装自定义输入组件,并设置验证规则。Controller
组件包装自定义输入组件,并设置验证规则。customInput
是自定义输入组件的名称,required
规则表示该字段不能为空,pattern
规则使用正则表达式限制只能输入字母。handleSubmit
方法。handleSubmit
方法。完整代码示例:
import React from 'react';
import { useForm, Controller } from 'react-hook-form';
const CustomInput = ({ value, onChange }) => (
<input type="text" value={value} onChange={onChange} />
);
const App = () => {
const { control, handleSubmit, formState: { errors } } = useForm();
const onSubmit = (data) => {
console.log(data);
};
return (
<form onSubmit={handleSubmit(onSubmit)}>
<Controller
control={control}
name="customInput"
rules={{
required: 'This field is required',
pattern: {
value: /^[A-Za-z]+$/i,
message: 'Only alphabets are allowed'
}
}}
render={({ field }) => (
<CustomInput
value={field.value}
onChange={field.onChange}
/>
)}
/>
{errors.customInput && <span>{errors.customInput.message}</span>}
<button type="submit">Submit</button>
</form>
);
};
export default App;
这样,在智能表单组件中使用react-hook-form验证自定义输入就完成了。通过定义验证规则和使用Controller
组件包装自定义输入组件,可以轻松实现表单输入的验证功能。如需了解更多react-hook-form的用法,请参考官方文档。
领取专属 10元无门槛券
手把手带您无忧上云