Opensearch dashboards.routevalidationfunction
Home > opensearch-dashboards > RouteValidationFunction
RouteValidationFunction type
The custom validation function if @osd/config-schema is not a valid solution for your specific plugin requirements.
Signature:
export declare type RouteValidationFunction<T> = (data: any, validationResult: RouteValidationResultFactory) => {
value: T;
error?: never;
} | {
value?: never;
error: RouteValidationError;
};
References: RouteValidationResultFactory, RouteValidationError
Example
The validation should look something like:
interface MyExpectedBody {
bar: string;
baz: number;
}
const myBodyValidation: RouteValidationFunction<MyExpectedBody> = (data, validationResult) => {
const { ok, badRequest } = validationResult;
const { bar, baz } = data || {};
if (typeof bar === 'string' && typeof baz === 'number') {
return ok({ bar, baz });
} else {
return badRequest('Wrong payload', ['body']);
}
}