json-yup
v1.0.2
Published
A JSON schema parser for Yup
Downloads
387
Maintainers
Readme
json-yup
A simple utility for converting a JSON schema into Yup schema.
Setup
npm install -S json-yup
import createValidationSchema from 'json-yup';
API
createValidationSchema(schema, options);
Arguments
|Argument | Type | Description | |-------------- | --- |---| |schema | Object | A valid JSON schema conforming to JSON schema specifications. | | customValidationFields | Object | Custom Yup mappings for schema properties |
Options
|Property | Type | Description | |-------------- | --- |---| |blackList | Array | A list of fields to omit from the schema. | |customValidationFields | Object | Custom Yup mappings for schema properties | |validationTypes| Object | Custom Yup mappings for schema types. |
Returns
Yup validation object
Usage
// Valid JSON Schema
const jsonSchema = {
"type": "object",
"required": [
"first_name"
],
"properties": {
"create_at": {
"type": "string"
},
"first_name": {
"type": "string"
},
"age": {
"type": "number",
"min": 1,
"max": 200
}
}
};
// Build Yup Schema
const validationSchema = createValidationSchema(jsonSchema, {
blackList: [
'create_at'
],
validationTypes: {
string: yup.string().nullable()
},
customValidationFields: {
first_name: yup.string().test(
'isWilly',
'Oops! You\'re not Willy',
value => value === 'Willy'
)
}
});
// Check validity
validationSchema.isValid({
first_name: 'Willy',
age: 24
})