GraphCMS/validation
This is the validation package for the GraphCMS server backend and the GraphCMS webapp frontend.
The purpose of this package is to validate user inputs at the frontend and backend level.
Usage
Let's say you want to check if some string is a valid model api id.
Here is how you would do that:
import * as Validator from '@graphcms/validation';
const model = {
apiId: 'TestModel',
displayName: 'TestModel',
description: null,
};
Validator.object()
.shape({
data: Validator.object().shape({
apiId: Validator.model.apiId,
displayName: Validator.model.displayName,
description: Validator.model.description,
}),
})
.validateSync(model, {
abortEarly: false,
});
If a validation is NOT successful, a ValidationError
will be thrown.
API
The export from this module looks like this:
import * as validation from '@graphcms/validation';
{
validation: Object
enumeration: Object
apiId: yup.StringSchema
displayName: yup.StringSchema
value: yup.StringSchema
field: Object
apiId: yup.StringSchema
displayName: yup.StringSchema
model: Object
apiId: yup.StringSchema
displayName: yup.StringSchema
yup: Object
}