如何解决在 Angular 中,如何在材质对话框模板中使用自定义验证器
我在材质对话框中有一个数据输入表单作为模板表单。我想将一些自定义验证器应用于其某些输入字段。 我没有成功让它们着火(尽管我测试了一个并且它适用于另一种“正常”形式)。 尝试在弹出的材质对话框表单中使用它们是否存在问题?它是一个非启动器吗?
假设一切正常 - 为什么它不起作用?
谢谢。
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;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。