maxCodePoints
Creates a max code points validation action.
const Action = v.maxCodePoints<TInput, TRequirement, TMessage>(
requirement,
message
);
Generics
TInputextends stringTRequirementextends numberTMessageextends ErrorMessage<MaxCodePointsIssue<TInput, TRequirement>> | undefined
Parameters
requirementTRequirementmessageTMessage
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
VARCHARlimits in PostgreSQL and in MySQL with theutf8mb4character set. NIST SP 800-63B also requires password length to be measured in Unicode code points.
Returns
ActionMaxCodePointsAction<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
Methods
Actions
Utils
© Fabian Hiller
Licensed under the MIT License.
https://valibot.dev/api/maxCodePoints/