-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Open
Labels
bugBug or defectBug or defect
Description
Runtime
node.js
Runtime version
v23.7.0
Module version
17.13.3
Last module version without issue
No response
Used with
express
Any other relevant information
I found this issue: #2889
Which introduced encodeUri. But this option can't be used (while it is documented).
Is this a regression?
What are you trying to achieve or the steps to reproduce?
From what I understand, I should be able to use the domain option to validate URIs that contain Unicode characters (IDN):
https://joi.dev/api/?v=17.13.3#stringurioptions
For example:
Joi.object({
url: Joi.string().uri({
allowRelative: false,
domain: {
allowUnicode: true,
tlds: false,
}
})
})But that does not work. Am I doing something wrong, or is this indeed a bug?
What was the result you got?
Schema:
Joi.object({
url: Joi.string().uri({
allowRelative: false,
domain: {
allowUnicode: true,
tlds: false,
}
})
})Data to validate:
{
url: "https://ëxample.com"
}
Output:
{
"url" /* "url" must be a valid uri */: "https://ëxample.com"
}
Sandbox reproduction:
What result did you expect?
For it to validate URIs that contain IDN, when the allowUnicode domain option is enabled.
IOW: for it to behave like domain (which does work as expected)
Metadata
Metadata
Assignees
Labels
bugBug or defectBug or defect
