getTitle
Returns the title of the schema.
If multiple titles are defined, the last one of the highest level is returned. If no title is defined,
undefinedis returned.
const title = v.getTitle<TSchema>(schema);
Generics
TSchemaextends BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>> | SchemaWithPipe<readonly [BaseSchema<unknown, unknown, BaseIssue<unknown>>, ...(PipeItem<any, unknown, BaseIssue<unknown>> | TitleAction<unknown, string>)[]]> | SchemaWithPipeAsync<readonly [BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>>, ...(PipeItem<any, unknown, BaseIssue<unknown>> | PipeItemAsync<any, unknown, BaseIssue<unknown>> | TitleAction<unknown, string>)[]]>
Parameters
schemaTSchema
Returns
titlestring | undefined
Examples
The following examples show how getTitle can be used.
Get title of schema
Get the title of a username schema.
const UsernameSchema = v.pipe(
v.string(),
v.regex(/^[a-z0-9_-]{4,16}$/iu),
v.title('Username'),
v.description(
'A username must be between 4 and 16 characters long and can only contain letters, numbers, underscores and hyphens.'
)
);
const title = v.getTitle(UsernameSchema); // 'Username'
Overriding inherited titles
Get the title of a Gmail schema with an overridden title.
const EmailSchema = v.pipe(v.string(), v.email(), v.title('Email'));
const GmailSchema = v.pipe(
EmailSchema,
v.endsWith('@gmail.com'),
v.title('Gmail')
);
const title = v.getTitle(GmailSchema); // 'Gmail'
Related
The following APIs can be combined with getTitle.
Actions
© Fabian Hiller
Licensed under the MIT License.
https://valibot.dev/api/getTitle/