-
Notifications
You must be signed in to change notification settings - Fork 8
YUP
Cláudio Medeiros edited this page Oct 5, 2022
·
3 revisions
Crie um arquivo validation-br.ts
em seu diretório de bibliotecas auxiliares, exemplo ´/src/lib/validation-br.ts´
// Importe o Yup
import * as yup from 'yup'
// Importe o validateOrFail do submódulo de CPF do validation-br
import { validateOrFail } from 'validation-br/dist/cpf'
// Crie seu método personalizado chamado cpf()
function cpf(message) {
return this.test('cpf', message, function (value) {
const { path, createError } = this
try {
const valid = validateOrFail(value)
return true
} catch (error) {
// Cria um erro se cair no catch
return createError({
path,
// Exibe a mensagem do catch
message: message ?? error.message,
})
}
})
}
// Adiciona seu método cpf() ao grupo de strings do yup
yup.addMethod(yup.string, 'cpf', cpf)
cpf() já está disponível para uso dentro do Yup
const validationSchema = yup.object().shape({
cpf: yup.string().required().cpf(),
})