【问题标题】:Sanity slug validate chars are lowercaseSanity slug 验证字符是小写的
【发布时间】:2021-12-11 18:47:54
【问题描述】:

我正在构建一个使用 sanity 作为后端的 vue 网站。我不想在路由器中重写 URL,而是希望在理智的情况下建立一个模式,其中 slug 只能是小写字母,

this-is-a-slug-123 有效,但 THIS-is-A-slug-123 无效,我想将此检查作为 slug 验证的一部分,以阻止人们保存页面带有无效的蛞蝓。

Sanity 仅具有可用于类型 slug 的 requiredcustom 验证规则。如何验证 slug 仅使用小写字符?

【问题讨论】:

  • 你不能只用toLowerCase()吗?

标签: javascript sanity


【解决方案1】:

您可以合并一个自定义验证函数来检查正则表达式:

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。正则表达式可以详细说明双破折号等,但希望这是一个开始。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-28
    • 2014-12-09
    • 2022-10-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多