Javascript 尝试使用验证创建一个Formik多步骤。如何验证字段?
我正试图在formik中进行现场验证。问题是我制作了一个多步骤表单,我的方法是我制作了一个组件数组,并根据页面[状态]使用它们,我不知道如何发送道具。 我想验证该字段是否只包含两位数字,如果没有,则显示一条错误消息Javascript 尝试使用验证创建一个Formik多步骤。如何验证字段?,javascript,reactjs,formik,Javascript,Reactjs,Formik,我正试图在formik中进行现场验证。问题是我制作了一个多步骤表单,我的方法是我制作了一个组件数组,并根据页面[状态]使用它们,我不知道如何发送道具。 我想验证该字段是否只包含两位数字,如果没有,则显示一条错误消息 const SignUp = () => { const state = useSelector((state: RootState) => state); console.log("state", state); const dispatch = use
const SignUp = () => {
const state = useSelector((state: RootState) => state);
console.log("state", state);
const dispatch = useDispatch();
return (
<Formik
initialValues={{ firstName: "", lastName: "", email: "" }}
onSubmit={values => {
setTimeout(() => {
alert(JSON.stringify(values, null, 2));
}, 500);
}}
render={({ errors, touched, isValidating }) => (
<Form>
<div>{pages[state]}</div>
<button
type="button"
onClick={() => {
dispatch(decrement());
}}
>
Prev
</button>
<button
type="button"
onClick={() => {
pages.length - 1 <= state
? console.log("No more pages")
: dispatch(increment());
}}
>
Next
</button>
</Form>
)}
/>
);
};
const Page2 = () => {
return (
<>
<h1>
What is your <span id="idealWeightText">ideal weight</span> that you
want to reach?
</h1>
<Input
name={"firstName"}
htmlFor={"firstName"}
type={"number"}
validation={validateKilograms}
/>
</>
);
};
const Input: React.FC<FieldProps> = ({
name,
onChange,
htmlFor,
type,
validation,
placeholder
}) => {
return (
<>
<label htmlFor={name}>
<Field
type={type}
name={name}
placeholder={placeholder}
validate={validation}
onChange={onChange}
/>
kg
</label>
</>
);
};
常量注册=()=>{
const state=useSelector((state:RootState)=>state);
console.log(“state”,state);
const dispatch=usedpatch();
返回(
{
设置超时(()=>{
警报(JSON.stringify(值,null,2));
}, 500);
}}
render={({错误,触摸,正在验证})=>(
{页[状态]}
{
调度(减量());
}}
>
上
{
页数.长度-1
下一个
)}
/>
);
};
常量第2页=()=>{
返回(
你的理想体重是多少
想去吗?
);
};
常量输入:React.FC=({
名称
一旦改变,
htmlFor,
类型,
验证,
占位符
}) => {
返回(
公斤
);
};
有一个名为Yup的库,您可以使用它,您可以自由设置条件验证
Yup最适合使用formik进行验证
在每个步骤之后,您都可以启用标志并相应地设置验证
此外,我建议您与Formik一起使用。而不是formik,因为在那里您可以创建一个单独的文件进行验证,并可以给出其路径。因此,这也将改善您的文件夹结构 有一个名为Yup的库,您可以使用它,您可以自由设置条件验证 Yup最适合使用formik进行验证 在每个步骤之后,您都可以启用标志并相应地设置验证
此外,我建议您与Formik一起使用。而不是formik,因为在那里您可以创建一个单独的文件进行验证,并可以给出其路径。因此,这也将改善您的文件夹结构 你知道从哪里开始学习这个吗?我是说一些2019年信息?我正在粘贴一个示例,这将帮助您更好地理解,但您也需要遵循官方文档,我只是在分享高级工作流程。您知道从哪里开始学习这个吗?我是说一些2019年的信息?我正在粘贴一个样本,这将帮助您更好地理解,但您也需要遵循官方文档,我只共享高级工作流。您还可以使用
验证
功能并触发文档中所示字段的更改
。您还可以使用验证
功能并触发文档中所示字段的更改