问题描述
我在材质对话框中有一个数据输入表单作为模板表单。我想将一些自定义验证器应用于其某些输入字段。 我没有成功让它们着火(尽管我测试了一个并且它适用于另一种“正常”形式)。 尝试在弹出的材质对话框表单中使用它们是否存在问题?它是一个非启动器吗?
假设一切正常 - 为什么它不起作用?
谢谢。
difftool
模板的主要部分;
man gitconfig
解决方法
不要在表单内使用对话框。
phone
在对话框中使用表单。
import React from "react";
import { useForm,Controller } from "react-hook-form";
import PhoneInput,{ isValidPhoneNumber } from "react-phone-number-input";
import "react-phone-number-input/style.css";
const MyForm = () => {
const {
handleSubmit,formState: { errors },control
} = useForm();
const onSubmit = (data) => {
console.log(data);
};
return (
<form onSubmit={handleSubmit(onSubmit)} className="user-info-form">
<div>
<label htmlFor="phone-input">Phone Number</label>
<Controller
name="phone-input"
control={control}
rules={{
validate: (value) => isValidPhoneNumber(value)
}}
render={({ field: { onChange,value } }) => (
<PhoneInput
value={value}
onChange={onChange}
defaultCountry="TH"
id="phone-input"
/>
)}
/>
{errors["phone-input"] && (
<p className="error-message">Invalid Phone</p>
)}
</div>
</form>
);
};
export default MyForm;