Sanity slug 验证字符是小写的
Sanity slug validate chars are lowercase
我正在构建一个使用 sanity 作为后端的 vue 网站。我不想在路由器中重写 URLS,而是希望有一个合理的模式,其中 slugs 只能是小写字母,所以,
this-is-a-slug-123 有效但 THIS-is-A-slug-123 无效,我想将此检查作为 slug 验证的一部分以阻止人们能够保存带有无效 slug 的页面。
Sanity 只有 required
或 custom
验证规则可用于类型 slug。我如何验证 slug 是否仅使用小写字符?
您可以合并一个自定义验证函数来检查正则表达式:
validation: (Rule) => Rule.required().custom((slug) => {
if (typeof slug === "undefined") return true
const regex = /(^[a-z0-9-]+$)/ // Regex pattern goes here
if (regex.test(slug.current)) {
return true
} else {
return "Invalid slug: Only numbers, lowercase letters, and dashes are permitted." // Error message goes here
}
}),
这只会验证包含小写字母、破折号和数字的 slug。可以详细说明正则表达式以说明双破折号等,但希望这是一个开始。
我正在构建一个使用 sanity 作为后端的 vue 网站。我不想在路由器中重写 URLS,而是希望有一个合理的模式,其中 slugs 只能是小写字母,所以,
this-is-a-slug-123 有效但 THIS-is-A-slug-123 无效,我想将此检查作为 slug 验证的一部分以阻止人们能够保存带有无效 slug 的页面。
Sanity 只有 required
或 custom
验证规则可用于类型 slug。我如何验证 slug 是否仅使用小写字符?
您可以合并一个自定义验证函数来检查正则表达式:
validation: (Rule) => Rule.required().custom((slug) => {
if (typeof slug === "undefined") return true
const regex = /(^[a-z0-9-]+$)/ // Regex pattern goes here
if (regex.test(slug.current)) {
return true
} else {
return "Invalid slug: Only numbers, lowercase letters, and dashes are permitted." // Error message goes here
}
}),
这只会验证包含小写字母、破折号和数字的 slug。可以详细说明正则表达式以说明双破折号等,但希望这是一个开始。