Object schema validation
Lead Maintainer: Nicolas Morel
Imagine you run facebook and you want visitors to sign up on the website with real names and not something like
l337_p@nda in the first name field. How would you define the limitations of what can be inputted and validate it against the set rules?
var Joi = ;var schema = Joiobject;Joi; // err === null -> valid
The above schema defines the following constraints:
Usage is a two steps process. First, a schema is constructed using the provided types and constraints:
var schema =a: Joi;
Note that joi schema objects are immutable which means every additional rule added (e.g.
.min(5)) will return a
new schema object.
Then the value is validated against the schema:
If the value is valid,
null is returned, otherwise an
var schema = Joi;
If the schema is a joi type, the
schema.validate(value, callback) can be called directly on the type. When passing a non-type schema object,
the module converts it internally to an object() type equivalent to:
var schema = Joiobject;
When validating a schema:
See the API Reference.
Joi doesn't directly support browsers, but you could use joi-browser for an ES5 build of Joi that works in browsers, or as a source of inspiration for your own builds.