yup 一个实用的参数检测工具 - 兴趣小组
返回

yup 一个实用的参数检测工具

最近一直在写Node后端,在开发过程中,看到同事使用的一个参数检测工具 yup,非常实用,因此分享一下。

https://github.com/jquense/yup

当我们开发API接口时,通常需要接收前端提交过来的参数,然后对参数进行合法性验证,验证通过后,再做下一步的使用和处理。这时使用yup可以非常方便我们进行参数的检测处理,yup提供了非常丰富的检测方法,如下是一个注册参数验证的小例子,供大家了解,更多功能可以阅读yup的文档

import * as yup from 'yup';

const createUserSchema = yup.object().shape({
  // 手机号
  phone: yup.string().matches(/^\+?[1-9]\d{1,14}$/).required(),
  // 手机号区号
  area_code: yup.string().oneOf(['86','01']).required(),
  // 用户名
  username: yup.string().matches(/^\+?[0-9a-zA-Z\-]{4,16}$/).required(),
  // 昵称
  nickname: yup.string().min(1).max(30).required(),
  // 密码
  password: yup.string().min(5).max(30).required(),
  // 验证码
  captcha: yup.string().length(6).required(),
  // 性别
  gender: yup.number().positive().integer().oneOf([0,1]),
});

createUserSchema.validate({ 
  phone: '18600000000', 
  area_code: '86',
  username: 'username',
  nickname: 'nickname',
  password: 'password',
  captcha: 123456,
  gender: 1
})
.then(()=>{
  // 检测通过
})
.catch(function (err) {
  // 检测失败
  console.log(err);
});
5月11日编辑于 5月11日
点赞
转发
收藏
目前暂未有人回复