SugoiJS
V4.0
Search…
⌃K
Links

Pre-defined polices

Ready to use policies

Function argument validation

@sugoi\core comes with pre-defined policy for validating functions arguments:
ValidateSchemaPolicy(failedResponseCode: number = 400, ...policyMeta: TValidateSchemaMeta[])
failedResponseCode: number - The code will be stored under the exception if the value does not meet the criteria.
policyMeta: TValidateSchemaMeta - Meta data for validation.
{
schema: {[prop:string]:ComparableSchema}|ComparableSchema,
argIndex?: number, - The argument index which need to validate - default is 0
keyInArg?: string - Key in argument (optional)
}

Example:

Schema -

{
role:{
text:string//with regex /([A-Z])+/i
}
}

Usage -

@ValidateSchemaPolicy(400, {
schema: {
"role": ComparableSchema.ofType(
{text: ComparableSchema.ofType(SchemaTypes.STRING).setRegex("([A-Z])+", "i")}
)
},
argIndex: 0
})

Result:

In case the argument doesn't meet the criteria an exception will thrown with the given failed response code