carvalhoviniciusluiz / cpf-cnpj-validator

Valida e formata strings de CPF ou CNPJ.
MIT License
207 stars 27 forks source link

does not work on Joi #1

Closed rafaelmpessoa closed 5 years ago

rafaelmpessoa commented 6 years ago

Hi,

const Joi = require('joi').extend(require('cpf-cnpj-validator'))


[1] "name" is required←[0m
    at Object.exports.process (D:\Rafael\node\cutti-api\node_modules\joi\lib\errors.js:196:19)
    at internals.Object._validateWithOptions (D:\Rafael\node\cutti-api\node_modules\joi\lib\types\any\index.js:675:31)
    at module.exports.internals.Any.root.validate (D:\Rafael\node\cutti-api\node_modules\joi\lib\index.js:146:23)
    at module.exports.internals.Any.root.attempt (D:\Rafael\node\cutti-api\node_modules\joi\lib\index.js:175:29)
    at module.exports.internals.Any.root.assert (D:\Rafael\node\cutti-api\node_modules\joi\lib\index.js:170:14)
    at module.exports.internals.Any.root.extend (D:\Rafael\node\cutti-api\node_modules\joi\lib\index.js:276:18)
    at Object.<anonymous> (D:\Rafael\node\cutti-api\models\paciente.js:2:28)
    at Module._compile (internal/modules/cjs/loader.js:689:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
    at Module.load (internal/modules/cjs/loader.js:599:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
    at Function.Module._load (internal/modules/cjs/loader.js:530:3)
    at Module.require (internal/modules/cjs/loader.js:637:17)
    at require (internal/modules/cjs/helpers.js:20:18)
    at Object.<anonymous> (D:\Rafael\node\cutti-api\controllers\paciente.js:1:91)
    at Module._compile (internal/modules/cjs/loader.js:689:30)
carvalhoviniciusluiz commented 6 years ago

I'll check

For now, try this.

import validator from 'cpf-cnpj-validator'
const Joi = require('joi').extend(validator)
ddanielcruz commented 4 years ago

In case someone is facing this issue with Node.js (CommonJS actually) the problem is solved if you explicitly pass default property.

const validator = require("cpf-cnpj-validator");
const Joi = require("@hapi/joi").extend(validator.default)

When using ES6 modules it doesn't happen because it already calls default property for you.