React——form的校验和验证规则(使用formik,yup)

阅读: 评论:0

React——form的校验和验证规则(使用formik,yup)

React——form的校验和验证规则(使用formik,yup)

React在进行form校验时,有两种方案

  1. 使用组件库进行from表单校验,但是React中组件库用起来比较费力。
  2. 使用原生方法写,这里借助  formik 和  yup进行使用

 一,formik的使用

官方文档

  1. 首先进行安装依赖 

yarn add  formik

    2.使用

  •  先导入

import { useFormik } from 'formik';

  • 进行初始化 

initialValues:初始化 输入框的密码和账号 

onSubmit:当点击提交按钮时,调用这个钩子,拿到输入框的vaule值

 这里打印一下 formik可以看到有很多钩子函数可以使用

 

 const formik = useFormik({initialValues: {mobile: '',code: ''},validate,onSubmit: values => {// 拿到输入框的值console.log(values);},});console.log(formik);
  •  在from表单中绑定这些钩子函数,会自动调用和受控

 

  •   formik中提供了校验规则,但是还是要自己手写,这里了解一下

 进行校验结果的控制

  •     这里看看全部代码
import React from 'react'
import NavBar from '../NavBar/NavBar'
import style from './dule.scss'
import Input from '../Input/input.js'
// 导入表单验证的formik
import { useFormik } from 'formik';
//导入校验验证规则yup
//import * as yup from 'yup';
const validate = values => {const error = {}if (!bile) {bile = '手机号不能为空'}if (!de) {de = '验证码不能为空'}return error
}
export default function Login() {const formik = useFormik({initialValues: {mobile: '',code: ''},validate,onSubmit: values => {// 拿到输入框的值console.log(values);},});console.log(formik);return (<div className={}><NavBar>登录</NavBar><div className='content'><h3>短信登录</h3><form onSubmit={formik.handleSubmit}><div className='input-item'><Inputname='mobile'placeholder='请输入手机号'value={bile}onChange={formik.handleChange}onBlur={formik.handleBlur}/>{bile && bile ? < div className='validate'>{bile}</div> : null}<div className='input-item'><Inputplaceholder='请输入验证码'extra='获取验证码'name='code'onChange={formik.handleChange}onBlur={formik.handleBlur}value={de} />{de && scode ? <div className='validate'>{de}</div> : null}</div><button type='submit' className='login-btn'>登录</button></div></form></div ></div >)
}

二,yup

上面的校验规则看起来不是很方便,使用yup会方便很多,可以去官网看看,非常简单。相信都可以看明白

yup:

 

本文发布于:2024-01-30 21:41:36,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170662210123026.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:规则   form   React   formik   yup
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23