maxCodePoints

Creates a max code points validation action.

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

Generics

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

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.')
);

The following APIs can be combined with maxCodePoints.

Schemas

Methods

Actions

Utils

Contributors

Thanks to all the contributors who helped make this page better!

  • GitHub profile picture of @fabian-hiller
  • GitHub profile picture of @tats-u
  • GitHub profile picture of @yslpn

Partners

Thanks to our partners who support the project ideally and financially.

Sponsors

Thanks to our GitHub sponsors who support the project financially.

  • GitHub profile picture of @vasilii-kovalev
  • GitHub profile picture of @UpwayShop
  • GitHub profile picture of @ruiaraujo012
  • GitHub profile picture of @hyunbinseo
  • GitHub profile picture of @nickytonline
  • GitHub profile picture of @kibertoad
  • GitHub profile picture of @caegdeveloper
  • GitHub profile picture of @Thanaen
  • GitHub profile picture of @bmoyroud
  • GitHub profile picture of @ysknsid25
  • GitHub profile picture of @dslatkin