Spec-Zone.ru › Valibot

maxCodePoints

Creates a max code points validation action.

const Action = v.maxCodePoints<TInput, TRequirement, TMessage>(
  requirement,
  message
);

Generics

  • TInput extends string
  • TRequirement extends number
  • TMessage extends ErrorMessage<MaxCodePointsIssue<TInput, TRequirement>> | undefined

Parameters

  • requirement TRequirement
  • message TMessage

Explanation

With maxCodePoints you can validate the maximum number of Unicode code points in a string. Code points are not the same as UTF-16 code units or user-perceived characters (graphemes): 😀 consists of 2 UTF-16 code units, 1 code point, and 1 grapheme, while 👨🏽‍👩🏽 consists of 5 code points but 1 grapheme. If the number of code points exceeds the requirement, you can use message to customize the error message.

Hint: This action is suitable for enforcing VARCHAR limits in PostgreSQL and in MySQL with the utf8mb4 character set. NIST SP 800-63B also requires password length to be measured in Unicode code points.

Returns

  • Action MaxCodePointsAction<TInput, TRequirement, TMessage>

Examples

The following examples show how maxCodePoints can be used.

Max code points schema

Schema to validate a string with a maximum of 8 code points.

const MaxCodePointsSchema = v.pipe(
  v.string(),
  v.maxCodePoints(8, 'The string must not exceed 8 code points.')
);

Related

The following APIs can be combined with maxCodePoints.

Schemas

any, custom, string

Methods

pipe

Actions

maxGraphemes, maxLength

Utils

isOfKind, isOfType

© Fabian Hiller
Licensed under the MIT License.
https://valibot.dev/api/maxCodePoints/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API