如何将React与Yup验证结合使用(无Formik)

时间:2019-08-28 07:21:10

标签: reactjs yup

有什么主意,我该如何使用Yup(没有Formik)进行React输入验证?

我在网上找不到任何很好的例子。谢谢

2 个答案:

答案 0 :(得分:5)

如果您要使用没有格式的yup,则可以使用cast(),请参见示例:

let yup = require('yup');

let schema = yup.object().shape({
  name: yup.string().required(),
  age: yup
    .number()
    .required()
    .positive()
    .integer(),
  email: yup.string().email(),
  website: yup.string().url(),
  createdOn: yup.date().default(function() {
    return new Date();
  }),
});

// check validity
schema
  .isValid({
    name: 'jimmy',
    age: 24,
  })
  .then(function(valid) {
    valid; // => true
  });

// you can try and type cast objects to the defined schema
schema.cast({
  name: 'jimmy',
  age: '24',
  createdOn: '2014-09-23T19:25:25Z',
});
// => { name: 'jimmy', age: 24, createdOn: Date }

答案 1 :(得分:0)

Formik处理react中的表单,将输入标签绑定到模型,该模型可以包含验证器,可以是Yum或任何其他形式的验证。

如果您不想使用Formik,则可以使用另一个Form处理库来进行响应,例如FormState

如果您根本不想使用表单处理库,则必须全部使用by hand