Skip to content

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']);
  }
}